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

Cómo: Crear y ejecutar un desencadenador CLR de SQL Server

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

Cómo: Crear y ejecutar un agregado CLR de SQL Server

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

  1. En el Explorador de soluciones, seleccione el proyecto.

  2. 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#

  1. En el Explorador de soluciones, seleccione la solución.

  2. 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

  1. En el Explorador de soluciones, seleccione el proyecto.

  2. 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#

  1. En el Explorador de soluciones, seleccione la solución.

  2. 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

  1. En el Explorador de soluciones, seleccione la solución.

  2. En el menú Depurar, haga clic en Iniciar.

  3. 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

Otros recursos

Depuración de bases de datos de SQL CLR