Créer des déclencheurs CLR
S'applique à :SQL Server
Vous pouvez créer un objet de base de données à l’intérieur de SQL Server qui est programmé dans un assembly créé dans le Common Language Runtime (CLR) du .NET Framework. Les objets de base de données qui peuvent utiliser le modèle de programmation enrichi fourni par le CLR incluent des déclencheurs DML, des déclencheurs DDL, des procédures stockées, des fonctions, des fonctions d’agrégation et des 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 Visual Studio inscrit un assembly dans la base de données spécifiée pour le projet. Le déploiement du projet crée également des déclencheurs CLR dans la base de données pour toutes les méthodes annotées avec l’attribut SqlTrigger
. Pour plus d’informations, consultez Déployer des objets de base de données CLR.
L’exécution du code CLR est désactivée par défaut dans SQL Server. Vous pouvez créer, modifier et supprimer des objets de base de données qui référencent des modules de code managé, mais ces références ne s’exécutent pas dans SQL Server, sauf si l’option de configuration de serveur clr activée est activée à l’aide de sp_configure.