Implémenter des déclencheurs DDL

S’applique à :SQL ServerAzure SQL DatabaseAzure 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 possibilité de retourner des jeux de résultats à partir de déclencheurs sera supprimée dans une prochaine version 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 interdire les 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 lorsqu’aucune instruction Transact-SQL sur laquelle elle a été programmée est exécutée. 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