2009-05-28 12 views

Antwort

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

Whoa. Sehr hilfreich. Vielen Dank. –

+2

Beachten Sie, routine_definition ist bei 4000 Zeichen beschnitten, nur für den Fall, dass Sie eine lange Prozedur haben. sys.sql_modules hat nicht das gleiche Problem. – PeteT

+0

+1 für die agnostische Lösung des Problems – Jim

2

Sie können sys.sql_modules suchen. Definition enthält den Text von Prozeduren. Die Ansicht enthält Prozeduren, Ansichten, UDFs usw. Um sich auf gespeicherte Prozeduren zu beschränken, sollten Sie sich mit sys.procedure auf object_id verbinden.

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