0
すべてのトリガーをコードで一覧表示できますが、トリガーコードを解析する以外は、どのトリガーがDELETEで呼び出されたかを理解できません。Sql Server:DELETEのために登録されたすべてのDMLトリガを見つける方法はありますか?
トリガが削除トリガであるかどうかを判断する方法はありますか。
すべてのトリガーをコードで一覧表示できますが、トリガーコードを解析する以外は、どのトリガーがDELETEで呼び出されたかを理解できません。Sql Server:DELETEのために登録されたすべてのDMLトリガを見つける方法はありますか?
トリガが削除トリガであるかどうかを判断する方法はありますか。
見つけました。ページhttps://docs.microsoft.com/en-us/sql/t-sql/functions/objectproperty-transact-sqlによれば、トリガーのExecIsDeleteTrigger
プロパティを使用することができます。
ので、次のクエリは、すべてのDMLが便利クリック可能なハイパーリンクとして配置されたトリガのSQLコードをトリガDELETE返します
SELECT OBJECT_NAME(parent_id) TableName,Name TriggerName,CAST('<![CDATA[' + OBJECT_DEFINITION(object_id) + ']]>' AS XML) SqlCode
FROM sys.triggers
WHERE parent_class = 1 AND OBJECTPROPERTY(object_id, 'ExecIsDeleteTrigger') = 1
ORDER BY TableName
ニースの発見を。スクリプトを解析する方法はたくさんあるので、私の答えですが、この方法は確かに優れています。 –