Для этого вы можете запросить системные представления.
Вот пример , как найти все SP, связанные с определенной таблицей.
С небольшими изменениями вы можете найти только те, которые на самом деле содержат ключевые слова delete
, insert
и update
:
SELECT DISTINCT so.name, sc.text
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE (sc.TEXT LIKE '%your_table%' AND sc.TEXT LIKE '%delete%')
OR (sc.TEXT LIKE '%your_table%' AND sc.TEXT LIKE '%insert%')
OR (sc.TEXT LIKE '%your_table%' AND sc.TEXT LIKE '%update%')
Это не идеальное решение (например, он также найдет SP, которые SELECT
из вашей таблицы и DELETE
из другого), но если у вас есть сотни SP, которые только SELECT
с вашего стола и больше ничего не делайте, по крайней мере, они будут отфильтрованы.