Share via


Créer des déclencheurs CLR

Dans SQL Server, vous pouvez créer un objet de base de données programmée en fonction d’un assembly créé dans le CLR (Common Language Runtime) Microsoft .NET Framework. Les objets de base de données qui peuvent tirer parti du modèle de programmation puissant qu'offre le CLR sont les déclencheurs DML, les déclencheurs DDL, les procédures stockées, les fonctions, les fonctions d'agrégation et les types.

La création d'un déclencheur CLR (DML ou DDL) dans SQL Server implique les étapes suivantes :

  • Définissez le déclencheur en tant que classe dans un langage .NET Framework. Pour plus d’informations sur la programmation de déclencheurs dans le CLR, consultez Déclencheurs CLR. Ensuite, compilez la classe pour créer un assembly dans le .NET Framework à l'aide du compilateur du langage approprié.

  • Inscrivez l'assembly dans SQL Server à l'aide de l'instruction CREATE ASSEMBLY. Pour plus d’informations sur les assemblys dans SQL Server, consultez Assemblys (moteur de base de données).

  • Créez le déclencheur qui fait référence à l'assembly inscrit.

Notes

Le déploiement d’un projet SQL Server dans MicrosoftVisual Studio a pour effet d’inscrire un assembly dans la base de données qui a été spécifiée pour le projet. Le déploiement du projet crée aussi les déclencheurs CLR dans la base de données pour toutes les méthodes annotées par l'attribut SqlTrigger. Pour plus d’informations, consultez Déploiement d’objets de base de données CLR.

Notes

La fonctionnalité d'exécution du code CLR par SQL Server est désactivée par défaut. Vous pouvez créer, modifier et supprimer des objets de base de données qui font référence à des modules de code managé, mais ces références ne s’exécutent pas dans SQL Server si l’option CLR activé n’est pas activée à l’aide de sp_configure (Transact-SQL).

Pour créer, modifier ou supprimer un assembly

Pour créer un déclencheur CLR

Voir aussi

Déclencheurs DML
Concepts de programmation pour l'intégration du CLR
Accès aux données à partir d'objets de base de données CLR