Найти строку, выполнив поиск всех сохраненных процедур в SQL Server Management Studio 2008 - PullRequest
40 голосов
/ 23 марта 2011

Есть ли способ поиска строки во всех хранимых процессах в SQL Server Management Studio?

Ответы [ 4 ]

70 голосов
/ 23 марта 2011
SELECT *
FROM sys.sql_modules
WHERE definition LIKE '%yourstring%'
20 голосов
/ 23 марта 2011

Посмотрите на RedGate SQL Search .Это плагин Management Studio и бесплатная загрузка.Вы можете осуществлять поиск в данной базе данных или по всему экземпляру.

16 голосов
/ 23 марта 2011

Я всегда использую это;

SELECT Name
 FROM sys.procedures
 WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%SEARCHSTRING%'
3 голосов
/ 21 декабря 2016

В моем случае я искал схему и имя хранимой процедуры всякий раз, когда я ищу конкретный текст или ключевое слово. Код, который я использую, и он работает для меня:

USE [your_DB_name];
GO
SELECT [Scehma]=schema_name(o.schema_id), o.Name 
FROM sys.sql_modules m
 INNER JOIN sys.objects o
ON o.object_id = m.object_id
WHERE m.definition like '%your keyword%'
GO

Результат прост и выглядит следующим образом:

----------------------------------------------
|    Schema    |    Name                     |
----------------------------------------------
|    dbo       |  stored_procedure_name      |
----------------------------------------------
...
and so on (if the keyword exists in more than one stored procedure)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...