Подтвердить что ты не робот

Найдите строку, выполнив поиск всех сохраненных процедур в SQL Server Management Studio 2008

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

4b9b3361

Ответ 1

SELECT *
FROM sys.sql_modules
WHERE definition LIKE '%yourstring%'

Ответ 2

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

Ответ 3

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

SELECT Name
 FROM sys.procedures
 WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%SEARCHSTRING%'

Ответ 4

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

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)