Implementación de objetos de base de datos CLR
Se aplica a:SQL Server
La implementación es el proceso mediante el cual se distribuye una aplicación o módulo finalizados para su instalación y ejecución en otro equipo. Con Visual Studio, puede desarrollar objetos de base de datos de Common Language Runtime (CLR) e implementarlos en un servidor de prueba. Como alternativa, los objetos de base de datos administrados también se pueden compilar con los archivos de redistribución de .NET Framework, en lugar de Visual Studio. Una vez compilados, los ensamblados que contienen los objetos de base de datos CLR se pueden implementar en un servidor de prueba mediante instrucciones De Visual Studio o Transact-SQL.
Una vez que los métodos CLR se prueban y comprueban en el servidor de prueba, se pueden distribuir a los servidores de producción mediante un script de implementación. El script de implementación se puede generar manualmente o mediante SQL Server Management Studio (descrito más adelante en este artículo).
La característica de integración clR está desactivada de forma predeterminada en SQL Server y debe estar habilitada para usar ensamblados CLR. Para obtener más información, consulte Habilitación de la integración de CLR.
Implementación del ensamblado en el servidor de prueba
Con Visual Studio, puede desarrollar funciones, procedimientos, desencadenadores, tipos definidos por el usuario (UDT) o agregados definidos por el usuario (UDA) de CLR e implementarlos en un servidor de prueba. Estos objetos de base de datos administrados también pueden compilarse con los compiladores de línea de comandos que se incluyen con los archivos de redistribución de .NET Framework, como csc.exe y vbc.exe. El entorno de desarrollo integrado de Visual Studio no es necesario para desarrollar objetos de base de datos administrados para SQL Server.
Asegúrese de resolver todos los errores y advertencias del compilador. Los ensamblados que contienen las rutinas CLR se pueden registrar en una base de datos de SQL Server mediante instrucciones De Visual Studio o Transact-SQL.
Nota:
El protocolo de red TCP/IP debe estar habilitado en la instancia de SQL Server para poder usar Visual Studio para el desarrollo remoto, la depuración y el desarrollo. Para obtener más información sobre cómo habilitar el protocolo TCP/IP en el servidor, vea Configurar protocolos de cliente.
Implementación del ensamblado mediante Visual Studio
Para compilar el proyecto, seleccione
Nombre del proyecto Build en el menúBuild (Compilar).Resuelva todos los errores y advertencias de generación antes de implementar el ensamblado en el servidor de prueba.
Seleccione Implementar en el menú Compilar . A continuación, el ensamblado se registra en la base de datos y la instancia de SQL Server especificadas cuando el proyecto de SQL Server se creó por primera vez en Visual Studio.
Implementación del ensamblado mediante Transact-SQL
Compile el ensamblado del archivo de código fuente utilizando los compiladores de línea de comandos que se incluyen con .NET Framework.
Para los archivos de código fuente de C#:
csc /target:library C:\helloworld.cs
Para los archivos de código fuente de Visual Basic:
vbc /target:library C:\helloworld.vb
Estos comandos inician el compilador de C# o Visual Basic mediante la opción /target
para especificar la creación de un archivo DLL de biblioteca.
Resuelva todos los errores y advertencias de generación antes de implementar el ensamblado en el servidor de prueba.
Abra SQL Server Management Studio en el servidor de prueba. Cree una nueva consulta, conectada a una base de datos de prueba adecuada (por ejemplo,
AdventureWorks2022
).Cree el ensamblado en el servidor agregando el siguiente transact-SQL a la consulta.
CREATE ASSEMBLY HelloWorld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE;
El procedimiento, la función, el agregado, el tipo definido por el usuario o el desencadenador deben crearse en la instancia de SQL Server. Si el ensamblado
HelloWorld
contiene un método denominadoHelloWorld
en la claseProcedures
, se puede agregar el siguiente Transact-SQL a la consulta para crear un procedimiento denominadohello
en SQL Server.CREATE PROCEDURE hello AS EXTERNAL NAME HelloWorld.Procedures.HelloWorld;
Para obtener más información sobre cómo crear los distintos tipos de objetos de base de datos administrados en SQL Server, vea:
- funciones definidas por el usuario clR
- agregados definidos por el usuario clR
- tipos definidos por el usuario clR
- procedimientos almacenados clR
- desencadenadores CLR
Implementación del ensamblado en servidores de producción
Una vez que los objetos de base de datos CLR se prueban y comprueban en el servidor de prueba, se pueden distribuir a los servidores de producción. Para obtener más información sobre la depuración de objetos de base de datos administrados, vea Depuración de objetos de base de datos CLR.
La implementación de objetos de base de datos administrados es similar a la de los objetos de base de datos normales (tablas, rutinas de Transact-SQL, etc.). Los ensamblados que contienen los objetos de base de datos de CLR pueden implementarse en otros servidores utilizando un script de implementación. El script de implementación se puede crear mediante la funcionalidad generar scripts generar scripts de Management Studio. El script de implementación también se puede compilar manualmente o compilar mediante Generar scripts y modificarlos manualmente. Una vez compilado el script de implementación, se puede ejecutar en otras instancias de SQL Server para implementar los objetos de base de datos administrados.
Generación de un script de implementación mediante la generación de scripts
Abra Management Studio y conéctese a la instancia de SQL Server donde se registra el ensamblado administrado o el objeto de base de datos que se va a implementar.
En el Explorador de objetos, expanda el nombre< del servidor y >árboles de bases de datos. Haga clic con el botón derecho en la base de datos donde está registrado el objeto de base de datos administrado, seleccione Tareas y, a continuación, seleccione Generar scripts. Se abrirá el Asistente para script.
Seleccione la base de datos en el cuadro de lista y seleccione Siguiente.
En el panel Elegir opciones de script, seleccione Siguienteo cambie las opciones y, a continuación, seleccione Siguiente.
En el panel Elegir tipos de objeto, elija el tipo de objeto de base de datos que se va a implementar. Seleccione Siguiente.
Para cada tipo de objeto seleccionado en el panel Elegir tipos de objeto, se presenta un panel Elegir <tipo> . En este panel, puede elegir entre todas las instancias de ese tipo de objeto de base de datos registradas en la base de datos especificada. Seleccione uno o varios objetos y seleccione Siguiente.
El panel Opciones de salida aparece cuando se seleccionan todos los tipos de objeto de base de datos deseados. Seleccione Script para archivar y especifique una ruta de acceso de archivo para el script. Seleccione Siguiente. Revise las selecciones y seleccione Finalizar. El script de implementación se guardará en la ruta de acceso de archivo especificada.
Scripts posteriores a la implementación
Puede ejecutar un script posterior a la implementación.
Para agregar un script posterior a la implementación, agregue un archivo denominado postdeployscript.sql a su directorio de proyecto de Visual Studio. Por ejemplo, haga clic con el botón derecho en el proyecto en Explorador de soluciones y seleccione Agregar elemento existente. Agregue el archivo a la raíz del proyecto, en lugar de agregarlo a la carpeta de scripts de prueba.
Al seleccionar implementar, Visual Studio ejecutará este script después de la implementación del proyecto.