Implémenter des déclencheurs DDL
Cette rubrique fournit des informations pour vous aider à créer, modifier, désactiver ou supprimer des déclencheurs DDL.
Création de déclencheurs DDL
Les déclencheurs DDL sont créés à l’aide de l’instruction CREATE TRIGGER Transact-SQL pour les déclencheurs DDL.
Pour créer un déclencheur DDL
Important
La fonctionnalité de renvoi des jeux de résultats à partir de déclencheurs sera éliminée dans une version ultérieure de SQL Server. Les déclencheurs qui renvoient des jeux de résultats peuvent provoquer un comportement inattendu des applications qui ne sont pas conçues pour interagir avec eux. Évitez de renvoyer des jeux de résultats provenant de déclencheurs dans un nouveau travail de développement et prévoyez la modification des applications qui y recourent actuellement. Pour empêcher les déclencheurs de retourner des jeux de résultats dans SQL Server, définissez l’option d’ interdiction des résultats des déclencheurs sur 1. Le paramètre par défaut de cette option sera 1 dans une version ultérieure de SQL Server.
Modification de déclencheurs DDL
Si vous devez modifier la définition d'un déclencheur DDL, vous pouvez soit l'annuler, puis le recréer, soit redéfinir le déclencheur existant en une seule opération.
Si vous changez le nom d'un objet référencé par un déclencheur DDL, vous devez modifier le déclencheur pour que sa définition se réfère au nouveau nom de l'objet. Par conséquent, avant de renommer un objet, affichez les dépendances de l'objet pour savoir si des déclencheurs peuvent être concernés par la modification projetée.
Un déclencheur peut aussi être modifié pour en chiffrer la définition.
Pour modifier un déclencheur
Pour afficher les dépendances d'un déclencheur
Désactivation et suppression de déclencheurs DDL
Vous pouvez désactiver ou supprimer un déclencheur DDL s'il ne vous est plus utile.
La désactivation d'un déclencheur DDL n'entraîne pas sa suppression. Le déclencheur existe toujours en tant qu'objet dans la base de données actuelle. Toutefois, le déclencheur ne se déclenche pas lorsque les instructions Transact-SQL sur lesquelles il a été programmé sont exécutées. Tout déclencheur DDL désactivé peut être réactivé. Quand un déclencheur est réactivé, il se déclenche de la même manière que lors de sa création. Les déclencheurs sont activés par défaut au moment de leur création.
La suppression d'un déclencheur DDL entraîne sa suppression définitive de la base de données actuelle. Les objets ou données faisant partie de la portée du déclencheur DDL ne sont pas affectés.
Pour désactiver un déclencheur DDL
Pour activer un déclencheur DDL
Pour supprimer un déclencheur DDL