Текстовый поиск в хранимых процедурах в SQL Server 2005 - PullRequest
8 голосов
/ 29 мая 2009

Как мне найти хранимую процедуру, содержащую определенный текст? Хотя я понимаю, что лучшее место для такого поиска - инструмент контроля версий, но есть ли способы сделать это в базе данных?

Ответы [ 3 ]

15 голосов
/ 29 мая 2009
SELECT ROUTINE_NAME, ROUTINE_DEFINITION 
    FROM INFORMATION_SCHEMA.ROUTINES 
    WHERE ROUTINE_DEFINITION LIKE '%your text here%' 
    AND ROUTINE_TYPE='PROCEDURE'
12 голосов
/ 18 июля 2012
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%'
2 голосов
/ 29 мая 2009

Вы можете искать sys.sql_modules . Определение содержит текст процедур. Представление содержит процедуры, представления, файлы udf и т. Д. Чтобы ограничиться хранимыми процедурами, вам нужно присоединиться с sys.procedure для object_id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...