如何在Microsoft SQL Server Management Studio中查看视图间的关联关系?
在SSMS中查看视图关联关系的简便方法
1. 用SSMS自带的依赖关系查看器
- 打开SSMS,找到目标数据库的「视图」节点
- 右键任意视图,选「查看依赖关系」
- 在弹窗里选「依赖于该对象的对象」或「该对象依赖的对象」:
- 前者能查到哪些视图/存储过程调用了当前视图
- 后者能看到当前视图依赖的底层视图或表
2. 用系统视图批量查关联
直接跑下面的SQL脚本,一次性获取所有视图的关联数据,不用挨个点:
SELECT referencing_object_name = OBJECT_NAME(referencing_id), referencing_object_type = o.type_desc, referenced_object_name = OBJECT_NAME(referenced_id), referenced_object_type = ro.type_desc FROM sys.sql_expression_dependencies sed JOIN sys.objects o ON sed.referencing_id = o.object_id LEFT JOIN sys.objects ro ON sed.referenced_id = ro.object_id WHERE o.type = 'V' -- 仅筛选视图 ORDER BY referencing_object_name;
返回结果里会列出每个视图依赖的对象(其他视图、表),以及哪些对象引用了这个视图。
3. 批量生成视图脚本快速检索
- 选中数据库下的所有视图(按住Ctrl多选),右键选「编写视图脚本为」→「CREATE到」→「新查询编辑器窗口」
- 一次性拿到所有视图的SQL定义,用SSMS的查找功能(Ctrl+F)搜特定视图名,就能快速找到哪些视图引用了它
内容的提问来源于stack exchange,提问作者user21096866
相关产品推荐
相关产品推荐

