Implémenter des déclencheurs DDL

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance

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 Transact-SQL CREATE TRIGGER 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. Cependant, il ne se déclenchera pas lorsque des instructions Transact-SQL sur lesquelles il a été programmé seront 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