Crear procedimientos almacenados CLR

En SQL Server 2008, puede crear un objeto de base de datos dentro de una instancia 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 completo modelo de programación que proporciona CLR incluyen desencadenadores, procedimientos almacenados, funciones, funciones de agregado y tipos.

La creación de un procedimiento almacenado CLR en SQL Server implica los pasos siguientes:

  • Definir el procedimiento almacenado como un método estático de una clase en un lenguaje compatible con .NET Framework. Para obtener más información sobre la programación de procedimientos almacenados CLR, vea Procedimientos almacenados de CLR. A continuación, compilar la clase para generar un ensamblado en .NET Framework mediante el compilador del lenguaje adecuado.

  • Registrar el ensamblado en SQL Server mediante la instrucción CREATE ASSEMBLY. Para obtener más información acerca de cómo trabajar con ensamblados en SQL Server, vea Ensamblados.

  • Crear el procedimiento almacenado que hace referencia al ensamblado registrado, con la instrucción CREATE PROCEDURE.

Nota

La implementación de un proyecto de SQL Server en Microsoft Visual Studio registra un ensamblado en la base de datos especificada para el proyecto.La implementación del proyecto crea también procedimientos almacenados CLR en la base de datos para todos los métodos anotados con el atributo SqlProcedure. Para obtener más información, vea Implementar objetos de base de datos de CLR.

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; sin embargo, estas referencias no se ejecutarán en SQL Server a menos que se haya activado la opción clr enabled mediante sp_configure (Transact-SQL).

Para crear, modificar o quitar un ensamblado

Para crear un procedimiento almacenado CLR