如何查找使用特定功能的所有存储过程

时间:2014-02-18 05:57:36

标签: sql-server stored-procedures

Hello是否有一种方法可以让我轻松找到SQL Server中使用特定函数的所有存储过程,例如ex。函数fn_Test()

我希望使用此函数查看所有存储过程。

由于

4 个答案:

答案 0 :(得分:3)

这应该做你想做的事情,它将返回任何带有输入文本的sproc:

SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE '%fn_Test%'

答案 1 :(得分:2)

你可以使用,

SELECT obj.Name SPName, sc.TEXT SPText
FROM sys.syscomments sc
INNER JOIN sys.objects obj ON sc.Id = obj.OBJECT_ID
WHERE sc.TEXT LIKE '%' + 'YOUR_FUNCTION_NAME' + '%'
AND TYPE = 'P'

答案 2 :(得分:0)

这段sql将列出包含该函数名称的所有存储过程。但是,这可能包括评论中的内容。我认为这对于这份工作来说已经足够了

select distinct name from sysobjects
where type = 'P'
and id in (select id from syscomments where text like '%fn_Test%')
order by name

答案 3 :(得分:0)

查看sys.dm_sql_referencing_entities。