Programar desencadenadores CLR
Microsoft SQL Server 2005 ofrece la posibilidad de crear un objeto de base de datos dentro de SQL Server programado en un ensamblado creado para Microsoft .NET Framework (Common Language Runtime). 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 CLR Triggers. 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 Microsoft Visual 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 Deploying CLR Database Objects.
[!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
Vea también
Conceptos
Implementar desencadenadores DML
Otros recursos
Database Engine .NET Framework Programming
Data Access from CLR Database Objects