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

Roh*_*wal 8 stored-procedures sql-server-2005

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

Rus*_*rry 15

SELECT ROUTINE_NAME, ROUTINE_DEFINITION 
    FROM INFORMATION_SCHEMA.ROUTINES 
    WHERE ROUTINE_DEFINITION LIKE '%your text here%' 
    AND ROUTINE_TYPE='PROCEDURE'
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果您有一个很长的程序,routine_definition会被裁剪为4000个字符.sys.sql_modules没有相同的问题. (2认同)

Nal*_*ran 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%'
Run Code Online (Sandbox Code Playgroud)