2009-05-28 1 views

risposta

15
SELECT ROUTINE_NAME, ROUTINE_DEFINITION 
    FROM INFORMATION_SCHEMA.ROUTINES 
    WHERE ROUTINE_DEFINITION LIKE '%your text here%' 
    AND ROUTINE_TYPE='PROCEDURE' 
+1

Whoa. Molto utile. Grazie mille. –

+2

Attenzione, routine_definition viene ritagliata a 4000 caratteri nel caso si abbia una procedura lunga. sys.sql_modules non ha lo stesso problema. – PeteT

+0

+1 per essere il modo agnostico di risolvere il problema – Jim

2

È possibile cercare sys.sql_modules. La definizione contiene il testo delle procedure. La vista contiene procedure, viste, udfs, ecc. Per limitarti alle stored procedure, devi unirti a sys.procedure su object_id.

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%'