You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动