我有这个SQL Server,有很多存储过程遍布所有数据库和 我正在寻找一种方法来找到这些嵌套存储过程如何相互链接,所以基本上看看哪个存储过程正在运行哪个。
想知道是否有任何人遇到同样的问题,并找到了以一种无痛的方式获取此类信息的方法,而不是打开每个存储过程并检查它正在运行的其他存储过程。
由于
答案 0 :(得分:3)
右键单击表名并选择“View Dependencies”,如下所示,我们正在查看Employee表的依赖项。
SELECT
routine_name,
routine_type
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%Your Object Name%'
EXEC sp_depends 'Your Object Name'
SELECT referencing_schema_name, referencing_entity_name,
referencing_id, referencing_class_desc, is_caller_dependent
FROM sys.dm_sql_referencing_entities ('Your Object Name', 'OBJECT');
答案 1 :(得分:0)
根据您需要的信息,您可以查询sys.sql_expression_dependencies目录视图或使用sys.dm_sql_referenced_entities或sys.dm_sql_referencing_entities动态管理功能。
有关这些的信息,包括直接和间接依赖关系(链式依赖关系)的SQL查询的各种示例,请访问:Reporting SQL Dependencies。