Compartir por


Crear desencadenadores CLR

Se aplica a: SQL Server

Es posible crear un objeto de base de datos dentro de SQL Server programado 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 sobre cómo programar desencadenadores en CLR, vea Desencadenadores CLR. A continuación, compile la clase para generar un ensamblado en .NET Framework mediante el compilador del lenguaje adecuado.

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

  • Cree el desencadenador que hace referencia al ensamblado registrado.

Nota:

La implementación de un SQL Server Project en Microsoft Visual Studio registra un ensamblado en la base de datos especificada 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 más información, consulte Deploying CLR Database Objects.

Nota:

La capacidad de SQL Server para ejecutar el código CLR se encuentra desactivada de manera predeterminada. Puede crear, modificar y quitar objetos de base de datos que hacen referencia a los módulos de códigos administrados, pero estas referencias no se ejecutarán en SQL Server a menos que se haya habilitado la opción clr enabled mediante sp_configure (Transact-SQL).

Para crear, modificar o quitar un ensamblado

Para crear un desencadenador CLR

Consulte también

Desencadenadores DML
Conceptos de programación en el ámbito de la integración de Common Language Runtime (CLR)
Acceso a datos de objetos de base de datos de CLR