Proyectos de SQL Server
Actualización: noviembre 2007
Puede utilizar los lenguajes de .NET Framework, además del lenguaje de programación Transact-SQL, para crear objetos de base de datos como procedimientos almacenados y desencadenadores, así como con el fin de recuperar y actualizar datos para bases de datos de Microsoft SQL Server 2005. El desarrollo de objetos de base de datos .NET Framework para SQL Server mediante el código administrado presenta numerosas ventajas en comparación con Transact-SQL. Para obtener más información, vea Ventajas de utilizar código administrado para crear objetos de base de datos.
Para crear un objeto de base de datos, se crea un proyecto de SQL Server, se agregan los elementos necesarios al proyecto y se agrega código a esos elementos. A continuación, se genera el proyecto en un ensamblado y se implementa en el servidor SQL Server.
Nota: |
---|
De forma predeterminada, la característica de integración de Common Language Runtime (CLR) está desactivada en Microsoft SQL Server. Debe estar habilitada para poder usar elementos de proyecto de SQL Server. Para habilitar la integración de CLR, utilice la opción clr enabled del procedimiento almacenado sp_configure. Para obtener más información, vea Habilitación de la integración CLR. |
Crear un proyecto nuevo
Cree un nuevo proyecto de SQL Server haciendo clic en el menú Archivo, seleccionando Proyecto y seleccionando Proyecto de SQL Server en Nuevo proyecto (Cuadro de diálogo). Para obtener más información, vea Cómo: Crear un proyecto de SQL Server.
Después de crear el nuevo proyecto de SQL Server, se muestra Agregar referencia de base de datos (Cuadro de diálogo). Este cuadro de diálogo permite agregar una referencia de base de datos, o una conexión, al proyecto. Puede seleccionar una referencia de base de datos que esté disponible en Explorador de servidores/Explorador de bases de datos o definir una conexión nueva. Sólo se puede agregar una referencia de base de datos al proyecto.
Propiedades del proyecto
Puede cambiar el Nombre del ensamblado, que es el nombre del archivo de resultados que contiene el manifiesto del ensamblado. Si cambia el nombre del ensamblado, también se cambiará el nombre del objeto de base de datos en la base de datos de SQL Server.
Agregar elementos al proyecto
Los nuevos proyectos de SQL Server sólo contienen referencias e información de ensamblado. Para crear objetos de base de datos, primero debe agregar elementos al proyecto y, a continuación, agregar código a los elementos. Para obtener más información, vea Plantillas de elementos para proyectos de SQL Server.
En la tabla siguiente se muestran elementos específicos de los proyectos de SQL Server que se pueden agregar.
Elemento |
Más información |
---|---|
Procedimiento almacenado |
Cómo: Crear y ejecutar un procedimiento CLR almacenado de SQL Server |
Desencadenador |
|
Función definida por el usuario |
Cómo: Crear y ejecutar una función CLR de servidor SQL Server definido por el usuario |
Tipo definido por el usuario |
Cómo: Crear y ejecutar una función CLR de servidor SQL Server definido por el usuario |
Agregado |
Generar, implementar y depurar
Cuando se genera el proyecto, se compila en un ensamblado que se puede implementar en la base de datos a la que se hace referencia en el proyecto y depurar.
Sugerencia: |
---|
Como alternativa a la acción de generar, implementar y depurar en tres pasos independientes, se puede utilizar el comando Iniciar (F5) o el comando Iniciar sin depurar (CTRL+F5) para generar el ensamblado, implementarlo en la base de datos y depurar el objeto de base de datos. |
Antes de depurar el objeto de base de datos, debe agregar el código de Transact-SQL al elemento Test.sql (debug.sql en Visual C++). El script en el elemento Test.sql es importante para depurar porque realiza las acciones necesarias en la base de datos para iniciar y probar el objeto de base de datos. Cuando se agrega al proyecto, el elemento Test.sql contiene un esquema de código para un script que realiza la acción necesaria en la base de datos. Si el proyecto de SQL Server contiene más de un objeto de base de datos, el script del elemento Test.sql debe ejecutar cada objeto de base de datos.
Este requisito para depurar script difiere de, por ejemplo, un proyecto de formularios Windows Forms, que crea y ejecuta un programa ejecutable independiente; los objetos de base de datos sólo se ejecutan como respuesta a acciones o llamadas en la base de datos. Por ejemplo, se puede activar un desencadenador cuando se inserta una nueva fila en una tabla. Por consiguiente, el script de Test.sql debe insertar una nueva fila en una tabla para activar el desencadenador. Los resultados del desencadenador se muestran en la Ventana Resultados en Visual Studio para poder determinar si el desencadenador funciona correctamente.
A continuación, agregue código al elemento que ha agregado al proyecto de SQL Server y al elemento Test.sql. Se puede encontrar código de ejemplo para cada objeto de base de datos en los temas relacionados con el elemento de base de datos disponible. Consulte la tabla anterior.
Generar un proyecto de SQL Server
Cuando se genera el proyecto, se compila en un ensamblado. Si usa Visual Basic, siga estos pasos:
Para generar un proyecto de SQL Server en Visual Basic
En el Explorador de soluciones, seleccione el proyecto.
En el menú Generar, haga clic en Generar<nombreDeProyecto>.
Si usa Visual C#, Visual C++ o Visual J#, siga estos pasos:
Para generar un proyecto de SQL Server en Visual C#, Visual C++ o Visual J#
En el Explorador de soluciones, seleccione la solución.
En el menú Generar, haga clic en Generar solución.
Implementar el ensamblado en una base de datos
Cuando se implementa el ensamblado en la base de datos a que se hace referencia en el proyecto, se realiza la conexión a la base de datos y, a continuación, se copia el ensamblado en la base de datos, donde se registra y se establecen los atributos. Dado que el ensamblado se implementa en una base de datos concreta de un servidor, si se crea una nueva referencia de base de datos a una base de datos diferente en el mismo servidor, el ensamblado se debe implementar en esa segunda base de datos antes de poderse utilizar.
Si usa Visual Basic, siga estos pasos.
Para implementar un ensamblado de biblioteca de clases de SQL Server en Visual Basic
En el Explorador de soluciones, seleccione el proyecto.
En el menú Generar, haga clic en Implementar<nombreDeProyecto>.
Si usa Visual C#, Visual C++ o Visual J#, siga estos pasos.
Para implementar un ensamblado de biblioteca de clases de SQL Server en Visual C#, Visual C++ o Visual J#
En el Explorador de soluciones, seleccione la solución.
En el menú Generar, haga clic en Implementar solución.
Depurar el objeto de base de datos
Cuando se depura un objeto de base de datos, se genera el ensamblado, se implementa en la base de datos y se depura. Cuando se depura un objeto de base de datos que se ha generado e implementado previamente, el ensamblado se genera de nuevo sólo si el proyecto ha cambiado desde que fue generado anteriormente. El ensamblado siempre se elimina de la base de datos y se copia de nuevo.
Para depurar el objeto de base de datos
En el Explorador de soluciones, seleccione la solución.
En el menú Depurar, haga clic en Iniciar.
Para ver los resultados, en la ventana Resultados, seleccione la opción Resultado de base de datos de la lista Mostrar resultados desde.
Vea también
Tareas
Cómo: Crear un proyecto de SQL Server
Cómo: Crear y ejecutar un procedimiento CLR almacenado de SQL Server
Cómo: Crear y ejecutar un desencadenador CLR de SQL Server
Cómo: Crear y ejecutar un agregado CLR de SQL Server
Cómo: Crear y ejecutar una función CLR de servidor SQL Server definido por el usuario
Cómo: Crear y ejecutar un tipo CLR de servidor SQL Server definido por el usuario
Tutorial: Crear un procedimiento almacenado en código administrado
Cómo: Depurar un procedimiento almacenado de SQL CLR
Conceptos
Introduction to SQL Server CLR Integration (ADO.NET)
Ventajas de utilizar código administrado para crear objetos de base de datos
Plantillas de elementos para proyectos de SQL Server
Referencia
Atributos para proyectos de servidor SQL Server y objetos de base de datos