如何使用Visio生成SQL数据仓库(Dedicated SQL Pool)的ER图?
使用Visio创建Synapse Dedicated SQL Pool ER图的ODBC驱动适配指南
适配的ODBC驱动版本
必须使用ODBC Driver 17 for SQL Server(或更高版本),这是微软官方推荐适配Azure Synapse Analytics Dedicated SQL Pool的驱动,支持包括Azure AD认证在内的所有主流认证方式,兼容性最优。
配置ODBC数据源
- 打开对应位数的「ODBC数据源管理器」:64位Visio对应64位管理器(Windows搜索直接查找);32位Visio则打开32位版本,路径为
C:\Windows\SysWOW64\odbcad32.exe - 切换到「系统DSN」标签页,点击「添加」按钮
- 在驱动列表中选择「ODBC Driver 17 for SQL Server」,为数据源命名(例如
Synapse_Dedicated_Pool_ER) - 输入Synapse工作区的服务器地址,格式为
<工作区名称>.sql.azuresynapse.net - 选择认证方式:
- 使用SQL账号时,选「SQL Server认证」并输入账号密码
- 使用Azure AD账号时,选对应Azure AD认证选项(如「Azure Active Directory - 密码」)并输入凭证
- 选择目标Dedicated SQL Pool的数据库名称,点击「测试连接」确认配置成功
在Visio中导入生成ER图
- 启动Visio,新建「数据库模型图」模板
- 切换到「数据库」选项卡,点击「反向工程」
- 在数据源类型中选择「ODBC」,选中刚才配置好的DSN
- 输入必要的认证信息(若未在DSN中保存),勾选需要导入的数据库对象(表、视图等)
- 点击「确定」,Visio会自动抓取数据库架构并生成ER图,后续可按需调整布局、添加注释
常见问题排查
- 连接失败:检查驱动版本是否为17+,避免使用ODBC Driver 11及更早版本
- 位数不匹配:确保Visio和ODBC驱动的位数完全一致(64位/32位)
- 权限不足:确认用于连接的账号拥有Dedicated SQL Pool的
db_datareader角色权限,能读取数据库元数据
内容的提问来源于stack exchange,提问作者krishna N
相关产品推荐
相关产品推荐

