Поиск хранимых процедур, функций и триггеров по ключевому слову - PullRequest
1 голос
/ 18 июля 2011

Я получаю сообщение об ошибке:

Invalid column name 'Reserved'

Я не уверен, где в моей базе данных это код, и у меня есть сотни хранимых процедур, функций и триггеров, которые мне пришлось бы просматривать вручнуючтобы найти эту ссылку на неизвестный столбец.

Есть ли способ быстрого поиска, какие объекты содержат это ключевое слово?

Ответы [ 2 ]

4 голосов
/ 18 июля 2011

Попробуйте это:

SELECT o.name, t.TABLE_NAME, c.text 
  FROM syscomments c 
  JOIN sysobjects o 
    ON c.id = o.id
  JOIN INFORMATION_SCHEMA.Tables t
    ON  c.text LIKE '%reserved%' 

Или, если вы ищете таблицы со столбцом с именем Reserved, вы делаете:

select o.name 
from sys.objects o 
inner join sys.columns c 
on o.object_id = c.object_id
where o.type = 'u' and c.name = 'Reserved'

Если вы хотите отфильтровать результаты поиска по определенному типу объектовтакие как процедуры, представления или таблицы, вы можете сделать это, добавив «p» для хранимых процедур, «v» для представлений, «u» для пользовательских таблиц, «tr» для триггеров, например:

AND o.type = 'p'
0 голосов
/ 18 июля 2011
...