Docker中运行的Microsoft SQL Server无法生成ERD如何解决?
解决SSMS连接Docker版SQL Server 2022生成ERD报错问题
环境信息
- 数据库:
mcr.microsoft.com/mssql/server:2022Docker镜像 - 客户端:SQL Server Management Studio 18.12.1(已更新至最新版本)
- 问题:创建表后生成ERD时触发错误
可行解决方案
1. 验证数据库权限
生成ERD需要当前连接账号具备VIEW DEFINITION权限,执行以下语句为账号授权:
GRANT VIEW DEFINITION ON DATABASE::[你的数据库名] TO [你的登录账号];
授权后重新连接SSMS再尝试生成ERD。
2. 重置/修复SSMS
- 重置SSMS设置:打开SSMS,依次点击
工具->导入和导出设置->重置所有设置,按提示完成后重启SSMS。 - 修复SSMS安装:打开控制面板,找到
Microsoft SQL Server Management Studio 18,选择更改->修复,完成修复后重启系统再尝试操作。
3. 切换ERD生成工具
尝试用Azure Data Studio替代SSMS:
- 安装Azure Data Studio(微软官方轻量数据库工具)
- 连接Docker中的SQL Server 2022
- 在数据库的
数据库关系图选项中生成ERD,该工具对Docker环境的兼容性表现更稳定。
也可以使用第三方工具如Navicat、DBDesigner等生成ERD。
4. 同步SQL Server小版本
执行以下SQL查询Docker容器内SQL Server的具体版本:
SELECT @@VERSION;
若版本为SQL Server 2022的最新小版本,可尝试将Docker镜像更新至最新(执行docker pull mcr.microsoft.com/mssql/server:2022),或暂时使用已知兼容的小版本镜像。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

