SQL Server 2019无法创建数据库图:新建图窗口不显示已创建表的问题求助
解决SQL Server 2019数据库图看不到已创建表的问题
我之前在SQL Server 2019上也碰到过完全一样的情况!明明表都创建成功了,但新建数据库图就是看不到它们,试了好几种方法才搞定,你可以按下面的步骤逐一排查:
1. 确认数据库兼容性级别是否正确
数据库图对兼容性级别有要求,要是级别不对可能会导致表不显示:
- 在Object Explorer里右键点击
CarDatabase,选择属性 - 切换到选项标签页,找到兼容性级别
- 确保设置为
SQL Server 2019 (150),如果不是就改成这个,然后重启SSMS再试
2. 手动启用数据库Service Broker
数据库图依赖Service Broker服务,有时候安装支持组件时不会自动启用它,手动执行下面的SQL试试:
USE CarDatabase; ALTER DATABASE CarDatabase SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
执行完成后,刷新Object Explorer里的CarDatabase节点,再去新建数据库图看看。
3. 检查当前账号的权限
如果你的登录账号没有足够的权限,也可能看不到数据库图里的表,把账号添加到db_owner角色试试:
USE CarDatabase; -- 把下面的'YourLoginName'替换成你当前的登录名 EXEC sp_addrolemember 'db_owner', 'YourLoginName';
4. 重新安装数据库图支持组件
有时候第一次安装组件可能没完全成功,重新走一遍安装流程:
- 右键
CarDatabase下的Database Diagrams,选择Install Support for Database Diagrams - 等待安装完成后,不要立刻新建图,先右键
CarDatabase选择刷新,然后再尝试新建数据库图
验证表是否正常存在
如果上面的方法都没用,先确认表确实存在于数据库中,执行下面的查询:
USE CarDatabase; SELECT name, schema_name(schema_id) AS schema_name FROM sys.tables WHERE name IN ('Car', 'Engines');
如果能返回这两个表的信息,说明表没问题,继续尝试上面的方法;如果没返回,那可能是之前的建表语句有问题(不过你说查询执行正常,大概率不会是这个情况)。
内容的提问来源于stack exchange,提问作者abc xyz




