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) .NET Framework de Microsoft. 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.

[!REMARQUE]

Le déploiement d'un projet SQL Server dans Microsoft Visual Studio enregistre un assembly dans la base de données 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.

[!REMARQUE]

Par défaut, SQL Server ne peut pas exécuter du code CLR. Vous pouvez créer, modifier et supprimer des objets de base de données faisant référence à des modules de code managé, mais ces références ne s'exécuteront pas dans SQL Server à moins que l'option clr enabled soit activée via sp_configure (Transact-SQL).

Pour créer, modifier ou supprimer un assembly

Pour créer un déclencheur CLR

Voir aussi

Concepts

Déclencheurs DML

Accès aux données à partir d'objets de base de données CLR

Autres ressources

Concepts de programmation pour l'intégration du CLR