Sql server 是否有任何自动方法可以列出sql server存储过程中的所有依赖项?

Sql server 是否有任何自动方法可以列出sql server存储过程中的所有依赖项?,sql-server,stored-procedures,Sql Server,Stored Procedures,我们的数据库中有近1449个存储过程 是否有自动列出所有依赖项的方法 就像我们有存储过程s1,s2,s3,s4,s5一样 s2,s3在s1中调用 s4在s2中调用 s5在s3中调用 所以依赖性看起来应该有点像 s1 -->s2 ---->s4 -->s3 ---->s5 我认为,您可以将所有SP名称添加到一个临时表中 SELECT * FROM sys.procedures 现在您可以在这个临时表中循环查找依赖项,如 DECLARE @Search varcha

我们的数据库中有近1449个存储过程

是否有自动列出所有依赖项的方法

就像我们有存储过程s1,s2,s3,s4,s5一样

  • s2,s3在s1中调用
  • s4在s2中调用
  • s5在s3中调用
所以依赖性看起来应该有点像

s1 
-->s2
---->s4
-->s3
---->s5

我认为,您可以将所有SP名称添加到一个临时表中

SELECT * FROM sys.procedures
现在您可以在这个临时表中循环查找依赖项,如

DECLARE @Search varchar(255)
SET @Search='PROCEDURE_NAME'
SELECT DISTINCT o.name AS Object_Name,o.type_desc
    FROM sys.sql_modules m 
    INNER JOIN sys.objects  o ON m.object_id=o.object_id
    WHERE m.definition Like '%'+@Search+'%'
 ORDER BY 2,1

我不知道它是否有效,但你至少可以试一试。

粗略概述:我所做的是确定UI的工作方式(探查器),然后将所有对象循环到一个带有级别指示器的表中……顺便说一句,这似乎有很多存储过程……我不认为有任何自动化的方法可以满足您的要求,我最近加入了这个组织。对于小事情,他们有单独的程序。我正试图找出一种方法来减少这种情况。这就是为什么我需要一个自动的过程来显示所有的依赖关系。