gpt4 book ai didi

sql-server - 我如何检查sql server 'views'依赖关系

转载 作者:行者123 更新时间:2023-12-02 17:09:58 26 4
gpt4 key购买 nike

有没有一种方法可以让我使用自定义查询或存储过程找出 View 正在使用哪些基表?

最佳答案

您可以使用 sys.dm_sql_referenced_entities 函数来查找指定 View 引用的对象:

SELECT DISTINCT 
referenced_schema_name ,
referenced_entity_name
FROM sys.dm_sql_referenced_entities ('Sales.vSalesPersonSalesByFiscalYears', 'OBJECT');

enter image description here

此外,还有 sys.sql_expression_dependencies 系统 View ,您可以在其中指定表名和引用对象的类型:

SELECT 
referencing_object_name = o.name,
referencing_object_type_desc = o.type_desc
FROM sys.sql_expression_dependencies se
INNER JOIN sys.objects o
ON se.referencing_id = o.[object_id]
WHERE referenced_entity_name = 'Person' AND o.type_desc = 'View'

enter image description here

为了避免“手动”工作,您还可以使用 ApexSQL Clean ,一个可以查找所有内部和外部依赖项的 SQL Server 工具。在结果 Pane 中选择一个对象,然后查看依赖于所选对象的所有对象以及所选对象所依赖的对象:

enter image description here

您还可以过滤对象并可视化依赖关系:

enter image description here

免责声明:我在 ApexSQL 担任支持工程师

希望这有帮助

关于sql-server - 我如何检查sql server 'views'依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2566844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com