SQL Server 2005中的存储过程中的文本搜索

时间:2009-05-28 22:38:04

标签: sql-server-2005 stored-procedures

如何查找包含特定文本的存储过程?虽然我知道进行这种搜索的最佳位置是通过源代码控制工具,但有没有办法在数据库中执行此操作?

3 个答案:

答案 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