sys.triggers
を使用できます SQLServerのデータベース内のトリガーのリストを返すカタログビュー。
このビューには、トリガーである各オブジェクトの行が含まれ、タイプはTRまたはTAです。
例
sys.triggers
にクエリを実行する例を次に示します。 :
SELECT * FROM sys.triggers;
結果(垂直出力を使用):
-[ RECORD 1 ]------------------------- name | trg_Books_UpdateModifiedDate object_id | 1669580986 parent_class | 1 parent_class_desc | OBJECT_OR_COLUMN parent_id | 1605580758 type | TR type_desc | SQL_TRIGGER create_date | 2020-08-16 00:35:09.880 modify_date | 2020-08-16 00:35:09.880 is_ms_shipped | 0 is_disabled | 0 is_not_for_replication | 0 is_instead_of_trigger | 0 (1 row affected)
この例では、横にスクロールする必要がないように垂直出力を使用しました。
私の場合、このデータベースにはトリガーが1つしかありません。
別のデータベースに切り替えると、そのデータベースでトリガーが取得されます。データベースにトリガーが含まれていない場合、結果は得られません。
USE WideWorldImporters;
SELECT * FROM sys.triggers;
結果:
Commands completed successfully. (0 rows affected)
サーバートリガー
サーバートリガーのリストを返す必要がある場合は、sys.server_triggers
を使用してください sys.triggers
の代わりに 。
このビューは、object_typeがTRまたはTAのすべてのサーバーレベルのDDLトリガーを返します。