Мне нужно найти в SQL Server 2008 хранимые процедуры, содержащие, где может быть имя поля базы данных или имя переменной.
sql-server
sql-server-2008
tsql
stored-procedures
Гари Киндель
источник
источник
Получите копию бесплатного инструмента поиска Red-Gate SQL и начните наслаждаться поиском в SQL Server! :-)
Это отличный и очень полезный инструмент, и ДА! это абсолютно, абсолютно БЕСПЛАТНО для любого вида использования.
источник
Вы также можете попробовать ApexSQL Search - бесплатный плагин SSMS от ApexSQL.
источник
Я взял ответ Кашифа и соединил их всех вместе. Странно, иногда я находил результаты в одном из выборов, но не в другом. Чтобы быть в безопасности, я запускаю все 3, когда что-то ищу. Надеюсь это поможет:
источник
Если вам нужна также схема:
источник
источник
[whatever]
поймаетwhatever
(становится более важным, когда вы ищете идентификаторы, соответствующие схеме).Я попробовал приведенный выше пример, но он не отображал более 4000 символов, затем я немного его изменил и смог получить полное определение хранимой процедуры. Пожалуйста, смотрите обновленный скрипт ниже -
источник
Сначала убедитесь, что вы выполняете запрос под своими учетными данными, а также в правильном контексте базы данных.
В противном случае sys.procedures ничего не вернет. Теперь запустите запрос, как показано ниже:
Другой вариант - использовать INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION, но имейте в виду, что он содержит только ограниченное количество символов (т. Е. Первые 4000 символов) процедуры.
Я тестировал на Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)
источник
источник
Вот объединенная версия, использующая Losbear, но измененная так, что она также выводит имя схемы:
источник
Как найти хранимую процедуру, содержащую текст или строку
Много раз нам нужно найти текст или строку в хранимой процедуре. Вот запрос, чтобы найти содержащий текст.
Для получения дополнительной информации, пожалуйста, проверьте приведенный ниже URL.
http://www.freshcodehub.com/Article/34/how-to-find-a-stored-procedure-containing-text-or-string
источник
Для любого SQL-сервера, более нового, чем SQL-сервер 2000:
Если кто-то застрял с SQL Server 2000, таблица sql_modules не существует, поэтому вы будете использовать syscomments, вы получите несколько записей для хранимых процедур длиной более 4000 символов, но они будут иметь одно и то же поле c.number, чтобы вы могли группировать части вместе, чтобы получить полный текст хранимой процедуры:
источник
источник
источник
Этот запрос возвращает имя и содержимое любой хранимой процедуры, на которую ссылается «XXXX» в хранимой процедуре.
Это бесполезно при поиске процедур, которые ссылаются на конкретную таблицу / представление / процедуру
источник
Это то, что я написал в SQL 2012, чтобы выбрать все хранимые процедуры, название которых, например, «CompanySpecialisation»
источник
Хранимая процедура поиска текста в SP. {Dinesh Baskaran} Trendy Global Systems pvt ltd
источник
Попробуй это .....
источник
Это будет искать во всех хранимых процедурах всех баз данных. Это также будет работать для длительных процедур.
источник
Я использую этот скрипт. Если вы измените свои XML-комментарии так, чтобы они отображались в виде черного текста на желтом фоне, вы получите эффект выделения текста, который вы ищете, в столбце xml результатов. (Инструменты -> Параметры -> Среда -> Шрифты и цвета [Элементы отображения: Комментарий XML]
источник