Programar desencadenadores CLR

Es posible crear un objeto de base de datos dentro de SQL Server programada en un ensamblado creado en Common Language Runtime (CLR) de Microsoft.NET Framework.Los objetos de base de datos que pueden aprovechar el complejo modelo de programación que proporciona CLR incluyen desencadenadores DML, desencadenadores DDL, procedimientos almacenados, funciones, funciones de agregado y tipos.

Para crear un desencadenador CLR (DML o DDL) en SQL Server siga estos pasos:

  • Defina el desencadenador como una clase en un lenguaje admitido por .NET Framework. Para obtener más información acerca de cómo programar desencadenadores para CLR, vea Desencadenadores de CLR. A continuación, compile la clase para generar un ensamblado en .NET Framework mediante el compilador del lenguaje adecuado.

  • Registre el ensamblado en SQL Server mediante la instrucción CREATE ASSEMBLY. Para obtener más información acerca de ensamblados en SQL Server, vea Ensamblados (motor de base de datos).

  • Cree el desencadenador que hace referencia al ensamblado registrado.

[!NOTA]

Al implementar un Proyecto de servidor de SQL en MicrosoftVisual Studio se registra un ensamblado en la base de datos que se especificó para el proyecto. La implementación del proyecto también crea desencadenadores CLR en la base de datos para todos los métodos anotados con el atributo SqlTrigger. Para obtener más información, vea Implementar objetos de base de datos de CLR.

[!NOTA]

La opción de que SQL Server ejecute código CLR está desactivada de forma predeterminada. Puede crear, modificar y quitar objetos de base de datos que hagan referencia a módulos de código administrado, pero estas referencias no se ejecutarán en SQL Server a no ser que se habilite la opción clr enabled mediante sp_configure (Transact-SQL).

Para crear, modificar o quitar un ensamblado

Para crear un desencadenador CLR