Vous pouvez utiliser le sys.triggers
vue catalogue pour renvoyer une liste de déclencheurs dans une base de données dans SQL Server.
Cette vue contient une ligne pour chaque objet qui est un déclencheur, avec un type TR ou TA.
Exemple
Voici un exemple d'interrogation de sys.triggers
:
SELECT * FROM sys.triggers;
Résultat (en utilisant la sortie verticale) :
-[ 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)
J'ai utilisé la sortie verticale dans cet exemple pour que vous n'ayez pas à faire défiler latéralement.
Dans mon cas, je n'ai qu'un seul déclencheur dans cette base de données.
Si je passe à une autre base de données, j'obtiens les déclencheurs dans cette base de données. Si la base de données ne contient aucun déclencheur, je n'obtiens aucun résultat.
USE WideWorldImporters;
SELECT * FROM sys.triggers;
Résultat :
Commands completed successfully. (0 rows affected)
Déclencheurs de serveur
Si vous devez renvoyer une liste de déclencheurs de serveur, utilisez sys.server_triggers
au lieu de sys.triggers
.
Cette vue renvoie tous les déclencheurs DDL au niveau du serveur avec object_type TR ou TA.