如何查找包含特定文本的存储过程?虽然我知道进行这种搜索的最佳位置是通过源代码控制工具,但有没有办法在数据库中执行此操作?
答案 0 :(得分:15)
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%your text here%'
AND ROUTINE_TYPE='PROCEDURE'
答案 1 :(得分:12)
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 '%Serach_Text%'
答案 2 :(得分:2)
您可以搜索sys.sql_modules。定义包含程序文本。该视图包含过程,视图,udfs等。要限制自己使用存储过程,您应该在object_id上加入sys.procedure。