2009-05-28 11 views

Odpowiedz

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

Whoa. Bardzo przydatne. Dzięki wielkie. –

+2

Pamiętaj, że rutyna_definicja jest przycinana na 4000 znaków w przypadku, gdy masz długą procedurę. sys.sql_modules nie ma tego samego problemu. – PeteT

+0

+1 za bycie agnostycznym sposobem rozwiązania problemu – Jim

2

Możesz wyszukać sys.sql_modules. Definicja zawiera tekst procedur. Widok zawiera procedury, widoki, pliki udf itp. Aby ograniczyć się do procedur przechowywanych, powinieneś połączyć się z sys.procedure na 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%' 
Powiązane problemy