Search code examples
sql-serversql-server-2008t-sqlstored-procedures

How do I find a stored procedure containing <text>?


I need to search a SQL server 2008 for stored procedures containing where maybe the name of a database field or variable name.


Solution

  • This one truncates all text after the first 4,000 characters.

    SELECT ROUTINE_NAME, ROUTINE_DEFINITION
        FROM INFORMATION_SCHEMA.ROUTINES 
        WHERE ROUTINE_DEFINITION LIKE '%Foo%' 
        AND ROUTINE_TYPE='PROCEDURE'
    

    SELECT OBJECT_NAME(id) 
        FROM SYSCOMMENTS 
        WHERE [text] LIKE '%Foo%' 
        AND OBJECTPROPERTY(id, 'IsProcedure') = 1 
        GROUP BY OBJECT_NAME(id)
    

    SELECT OBJECT_NAME(object_id)
        FROM sys.sql_modules
        WHERE OBJECTPROPERTY(object_id, 'IsProcedure') = 1
        AND definition LIKE '%Foo%'