2011-09-21 88 views
2

有沒有辦法確定任何給定表上的觸發器是否會影響其他特定表?確定表是否受到任何觸發器的影響

我的實際問題是行從表中刪除,我相信它發生在另一個表上的觸發器。我需要找到這個「其他表」(有幾百表)。

Thx提前!

祺/ Snedker

+3

請註明RDBMS和版本。 –

+0

對不起 - 這是MSSQL 2008 R2,所以你其他帖子很適合我! 關心/ Snedker –

回答

4

您可以使用

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%' 

如果仍然沒有按」並且您認爲查詢可能是由應用程序發送的,您可以使用擴展事件來查看my answer here的底部。

+0

感謝一堆 - 正是我一直在尋找! –

相關問題