Tutorial: Crear particiones de un proyecto de base de datos mediante proyectos parciales
Puede utilizar proyectos parciales para aislar el desarrollo a determinados objetos de un proyecto de base de datos. Divida una base de datos en proyectos parciales y restrinja el acceso mediante control de versiones a los objetos del proyecto parcial importado para evitar que los usuarios cambien accidentalmente una parte del proyecto de base de datos que no deberían actualizar.
Puede exportar cualquier objeto o grupo de objetos como un proyecto parcial. Por ejemplo, puede exportar una definición de esquema y su contenido. También puede exportar objetos por tipo de objeto y colocar las tablas en un proyecto y las vistas en otro, etc.
En este tutorial realizará los siguientes pasos:
Crear un proyecto de base de datos de origen que contenga las definiciones de un esquema y dos tablas de la base de datos
Exportar objetos como un proyecto parcial
Crear un proyecto de base de datos de desarrollo
Importar objetos de un proyecto parcial en el proyecto de desarrollo
Definir procedimientos almacenados que hagan referencia a los objetos importados
Configurar, compilar e implementar el proyecto de desarrollo
Requisitos previos
Debe tener Visual Studio instalado y tener acceso de escritura a un servidor que ejecute SQL Server.
Crear un proyecto de base de datos de origen y sus objetos
Si ya tiene un proyecto de base de datos que contiene un esquema y tablas, puede utilizarlo en lugar del proyecto que se crea en este paso del tutorial.
Para crear el proyecto de base de datos de origen
En el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto.
Aparece el cuadro de diálogo Nuevo proyecto.
En Plantillas instaladas, expanda el nodo Base de datos y, a continuación, haga clic en SQL Server.
Nota
Si usa Visual Studio Professional, en Plantillas instaladas, expanda el nodo Base de datos, expanda el nodo SQL Server y, a continuación, haga clic en Avanzadas.
En la lista de plantillas, haga clic en Proyecto de base de datos de SQL Server 2008.
Nota
Si la base de datos de implementación de destino tiene una versión diferente de SQL Server, puede especificar el tipo de proyecto que coincide con la versión de SQL Server.
En Nombre, escriba MySourceDatabase.
En Ubicación, escriba o examine la ruta de acceso en la que desea crear el proyecto de base de datos; después, haga clic en Aceptar.
Importante Si la ruta de acceso es demasiado larga, podría recibir los errores al intentar importar el proyecto parcial más adelante en este tutorial. Puede usar rutas de acceso más cortas para evitar estos errores.
El proyecto de base de datos se crea y aparece en el Explorador de soluciones.
A continuación, definirá un esquema y tablas en ese esquema.
Para definir un esquema
En el menú Ver, haga clic en Vista de esquema.
Expanda el nodo MySourceDatabase, expanda el nodo Esquemas, haga clic con el botón secundario del mouse en el nodo Esquemas, seleccione Agregar y haga clic en Esquema.
Se abrirá el cuadro de diálogo Agregar nuevo elemento.
En la lista Plantillas, haga clic en Esquema.
En el cuadro Nombre, escriba Person y haga clic en Agregar.
A continuación, creará tablas en el nuevo esquema.
Para definir tablas en el esquema Person
En la Vista de esquema, haga clic con el botón secundario del mouse en el nodo Person, seleccione Agregar y haga clic en Tabla.
Nota
Para que este tutorial sea breve, no actualizará las definiciones de tabla.
Se abrirá el cuadro de diálogo Agregar nuevo elemento.
En la lista Plantillas, haga clic en Tabla.
En el cuadro Nombre, escriba Contacts y haga clic en Agregar.
Haga clic con el botón secundario del mouse en el nodo Person, seleccione Agregar y haga clic en Tabla.
Se abrirá el cuadro de diálogo Agregar nuevo elemento.
En la lista Plantillas, haga clic en Tabla.
En Nombre, escriba StateProvince y haga clic en Agregar.
A continuación, exportará el esquema Person y sus objetos.
Exportar objetos como un proyecto parcial
Para exportar objetos como un proyecto parcial
En el Explorador de soluciones, expanda el nodo Objetos de esquema y después el nodo Esquemas.
Aparece el nodo Person.
Expanda el nodo Objetos de nivel de base de datos, después el nodo Seguridad y por último el nodo Esquemas.
Aparece el archivo Person.schema.sql.
Haga clic con el botón secundario del mouse en el nodo Person y haga clic en Exportar como proyecto parcial.
Aparece el cuadro de diálogo Guardar como.
En Nombre de archivo, escriba ExportedPersonSchema y haga clic en Guardar.
Tome nota de la carpeta donde guardó el proyecto parcial.
En el menú Archivo, haga clic en Cerrar solución. Si se le pide que guarde los cambios en la solución, haga clic en Sí.
A continuación, creará un proyecto donde desarrollará procedimientos almacenados que hagan referencia a las tablas del esquema Person.
Crear un proyecto de base de datos de desarrollo
Para crear el proyecto de base de datos de desarrollo
En el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto.
Aparece el cuadro de diálogo Nuevo proyecto.
En Plantillas instaladas, expanda el nodo Base de datos y, a continuación, haga clic en SQL Server.
Nota
Si usa Visual Studio Professional, en Plantillas instaladas, expanda el nodo Base de datos, expanda el nodo SQL Server y, a continuación, haga clic en Avanzadas.
En la lista de plantillas, haga clic en Proyecto de base de datos de SQL Server 2008.
Nota
Si la base de datos de implementación de destino tiene una versión diferente de SQL Server, puede especificar el tipo de proyecto que coincide con la versión de SQL Server.
En Nombre, escriba MyDevelopmentDatabase.
En Ubicación, escriba o examine la ruta de acceso en la que desea crear el proyecto de base de datos; después, haga clic en Aceptar.
El proyecto de base de datos se crea y aparece en el Explorador de soluciones.
A continuación, importará el proyecto parcial que exportó en un procedimiento anterior.
Importar objetos en un proyecto parcial
Para importar un proyecto parcial
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nodo de proyecto MyDevelopmentDatabase y haga clic en Importar proyecto parcial.
En el cuadro de diálogo de confirmación, haga clic en Sí.
En el cuadro de diálogo Abrir, vaya a la carpeta que contiene el proyecto parcial que exportó en MySourceDatabase.
Haga clic en el archivo ExportedPersonSchema.files y, a continuación, haga clic en Abrir.
El proyecto se descarga y se recarga, y en el Explorador de soluciones aparece una carpeta con el nombre MySourceDatabaseBasePath.
Expanda la carpeta MySourceDatabaseBasePath.
Esta carpeta contiene los archivos que exportó de la base de datos de origen.
A continuación, definirá un de procedimiento almacenado que haga referencia a una tabla definida en el esquema Person.
Definir procedimientos almacenados que hagan referencia a los objetos importados
Para definir un procedimiento almacenado simple
En el menú Ver, haga clic en Vista de esquema.
En la Vista de esquema, expanda el nodo MyDevelopmentDatabase y, a continuación, expanda el nodo Esquemas.
Haga clic con el botón secundario del mouse en el nodo Person, seleccione Agregar y haga clic en Procedimiento almacenado.
Se abrirá el cuadro de diálogo Agregar nuevo elemento.
En Nombre, escriba uspCountContacts y haga clic en Agregar.
El procedimiento almacenado se agrega al proyecto y aparece en el editor de Transact-SQL.
En el editor de Transact-SQL, actualice el código para que coincida con el siguiente:
CREATE PROCEDURE [Person].[uspCountContacts] AS SELECT COUNT(*) FROM [Person].[Contacts]
En el menú Archivo, haga clic en Guardar todo.
A continuación, configurará el proyecto de base de datos de desarrollo, lo compilará y lo implementará en la base de datos de destino.
Configurar, compilar e implementar el proyecto de desarrollo
Para configurar, compilar e implementar la base de datos de desarrollo
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nodo MyDevelopmentDatabase y, a continuación, haga clic en Propiedades.
En la página de propiedades, haga clic en la pestaña Implementar.
En la lista Implementar acción, haga clic en Crear un script de implementación (.sql) e implementar en la base de datos.
En Valores de la base de datos de destino, haga clic en Editar.
Especifique una conexión al servidor de destino en el que desea implementar este proyecto y haga clic en Aceptar.
En el menú Archivo, haga clic en Guardar todo.
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nodo MyDevelopmentDatabase y, a continuación, haga clic en Compilar.
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nodo MyDevelopmentDatabase y, a continuación, haga clic en Implementar.
La base de datos se implementa en el servidor que especificó.
Pasos siguientes
La implementación incluye el esquema Person, las tablas que definió en el esquema y el procedimiento almacenado. Ahora, puede agregar proyectos al control de versiones y, a continuación, establecer permisos para restringir qué desarrolladores pueden modificar las definiciones de los procedimientos almacenados.