Определите, влияет ли таблица на какой-либо триггер - PullRequest
2 голосов
/ 21 сентября 2011

Есть ли способ определить, влияет ли триггер в любой данной таблице на одну другую конкретную таблицу?

Мои реальные проблемы - это удаление строк из таблицы, и я уверен, что это происходит из-за триггера в другойТаблица.Мне нужно найти эту «другую таблицу» (есть несколько сотен таблиц).

Спасибо заранее!

С уважением / Снедкер

1 Ответ

4 голосов
/ 21 сентября 2011

Вы можете использовать

SELECT def,
        t.*
FROM sys.triggers t
CROSS APPLY (SELECT OBJECT_DEFINITION(object_id)) C(def)
WHERE def LIKE '%DELETE%' AND def LIKE '%your_table%'

Если это ничего не находит и вы хотите расширить поиск, вы можете использовать

SELECT *
FROM sys.sql_modules
WHERE definition LIKE '%DELETE%' AND definition LIKE '%your_table%' 

Если это все еще не работает, и выподумайте, что запрос может быть отправлен приложением, вы можете использовать расширенные события, чтобы докопаться до сути вещей согласно моему ответу .

...