Compartir a través de


Tutorial: Crear un entorno de desarrollo de bases de datos aislado

En este tutorial, configurará un entorno de desarrollo aislado para que cada desarrollador pueda realizar y probar cambios sin afectar a los demás miembros del equipo. El entorno de desarrollo aislado se basa en el proyecto de base de datos que contiene las definiciones de todos los objetos que se encuentran en la base de datos de producción. Creará el proyecto, importará el esquema de base de datos de una base de datos de producción y definirá la configuración del proyecto. El siguiente paso es crear un plan de generación de datos. Finalmente, coloque el proyecto de base de datos y todos los archivos asociados bajo el control de versiones para compartir con su equipo.

En este tutorial desempeñará una función administrativa, ya que definirá el entorno que utilizará cada desarrollador del equipo para realizar su trabajo. Antes de finalizar un elemento de trabajo, el desarrollador utiliza el Generador de datos para colocar datos realistas pero falsos en el esquema actualizado y, a continuación, ejecuta pruebas unitarias de base de datos para comprobar que el esquema cambia el trabajo como era de esperar. Una vez finalizados los elementos de trabajo, cada desarrollador protegerá sus cambios en el sistema de control de versiones de manera que estén accesibles para el resto del equipo. Al ejecutar pruebas antes de proteger los cambios, cada integrante del equipo contribuye a minimizar el riesgo de que se pierda el trabajo de todos.

Las tareas ilustradas en este tutorial incluyen:

  1. Cómo crear un proyecto de base de datos mediante el Asistente para nuevo proyecto de base de datos.

  2. Cómo ejecutar el Asistente para nuevo proyecto de base de datos para importar el esquema de base de datos y especificar las propiedades del proyecto de base de datos y las propiedades de compilación e implementación.

  3. Cómo examinar los resultados de la operación de importación.

  4. Cómo agregar el proyecto al sistema de control de versiones.

Requisitos previos

Debe haber instalado Visual Studio y tener acceso a la base de datos de ejemplo AdventureWorks2008 de SQL Server 2008. Para agregar un proyecto a un sistema de control de versiones, debe haber instalado software de control de versiones, como Visual Studio Team Foundation Server.

Para obtener información sobre cómo instalar la base de datos de ejemplo AdventureWorks2008, vea esta página en el sitio web de Codeplex: Microsoft SQL Server Product Samples.

También puede utilizar SQL Server 2008 R2 y base de datos AdventureWorks2008R2. En este tutorial se tienen en cuenta las diferencias cuando hay que realizar una acción diferente para AdventureWorks2008R2.

Para crear un proyecto de base de datos

  1. En el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto.

    Aparecerá el cuadro de diálogo Nuevo proyecto.

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

  3. En la lista de plantillas, haga clic en Asistente para SQL Server 2008.

  4. En Nombre, escriba AdvWorksSandbox.

  5. Acepte los valores predeterminados de Ubicación y Nombre de la solución.

  6. Active la casilla Crear directorio para la solución si aún no está activada.

  7. Desactive la casilla Agregar al control de código fuente si aún no está desactivada y haga clic en Aceptar.

    Aparecerá el Asistente para nuevo proyecto de base de datos.

    El siguiente paso será utilizar este asistente para configurar su proyecto de base de datos e importar el esquema de base de datos inicial.

Para configurar el proyecto e importar un esquema de base de datos

  1. Haga clic en Siguiente después de leer la primera página del asistente.

  2. Compruebe que se haya seleccionado Un proyecto de base de datos para administrar los cambios a una base de datos definida por el usuario.

  3. En Archivos de script SQL, compruebe que esté seleccionado Por esquema y haga clic en Siguiente.

    Nota importanteImportante

    No puede cambiar la organización de un proyecto después de crearlo.

  4. En la página Establecer opciones de base de datos, en Especifique el esquema predeterminado para usar con los objetos que cree en el proyecto de base de datos, escriba HumanResources y haga clic en Siguiente.

    Nota

    Puede cambiar estas opciones una vez creado el proyecto. Para obtener más información, vea Cómo: Configurar propiedades de base de datos para proyectos de base de datos.

  5. En la página Importar esquema de base de datos, active la casilla Importar esquema existente.

  6. En la lista Conexión de base de datos de origen, haga clic en la conexión que corresponde al servidor y a la base de datos AdvertureWorks2008 o AdventureWorks2008R2. Si la conexión no existe, haga clic en Nueva conexión para crearla. Si no especifica una conexión, se creará el proyecto de base de datos pero no se importará ningún esquema.

    Nota

    Podrá importar un esquema de base de datos más adelante si el proyecto de base de datos todavía no contiene objetos de base de datos. Para obtener más información, vea Cómo: Importar objetos y configuraciones de base de datos.

  7. Acepte las opciones predeterminadas para importar objetos y valores, y haga clic en Siguiente.

  8. En la página Configurar compilación e implementación, en Conexión de destino, haga clic en el botón Editar y especifique una conexión al servidor de bases de datos donde desee crear el entorno de desarrollo.

  9. En Nombre de la base de datos de destino, escriba AdvWorksSandbox si aún no está especificado.

  10. En la lista Intercalación de implementación predeterminada, haga clic en Usar la intercalación de mi proyecto.

    Este paso hace que el motor de implementación use la intercalación del proyecto de base de datos al comparar el proyecto con la base de datos de destino.

  11. Desactive la casilla Bloquear la implementación incremental si se puede producir pérdida de datos.

    Dado que el entorno de desarrollo aislado sólo contendrá datos de prueba generados, puede permitir que se pierdan datos.

  12. Haga clic en Finalizar para crear el proyecto de base de datos e importar la base de datos.

    Se creará el proyecto de base de datos. Este proceso puede tardar unos minutos.

  13. Revise el resumen de los resultados y haga clic en Finalizar.

    En segundo plano, Visual Studio todavía está analizando el esquema de base de datos. En la barra de estado, aparece un mensaje que muestra el número de operaciones que deben completarse para que el esquema de base de datos esté totalmente analizado.

    A continuación, examinará el proyecto de base de datos que creó.

Para examinar el proyecto resultante

  1. En el Explorador de soluciones, expanda el nodo AdvWorksSandbox y expanda el nodo secundario Objetos de esquema.

  2. Explore los subnodos que se encuentran bajo el nodo Objetos de esquema en la jerarquía.

    El Explorador de soluciones contiene los archivos que definen los objetos que están en el esquema de la base de datos desde la que los importó.

  3. En el menú Ver, haga clic en Vista de esquema.

  4. En Vista de esquema, expanda el nodo AdvWorksSandbox.

  5. Explore los subnodos que se encuentran bajo el nodo AdvWorksSandbox en la jerarquía.

    La Vista de esquema contiene los objetos definidos en los archivos que aparecen en el Explorador de soluciones.

  6. En el Explorador de soluciones, haga clic en el nodo AdvWorksSandbox.

  7. En el menú Proyecto, haga clic en Propiedades de AdvWorksSandbox.

  8. En la página Propiedades, haga clic en la pestaña Implementar.

    Nota

    Cualquier valor de implementación que cambie al configurar Configuración de mi proyecto se guarda en el archivo de proyecto (.dbproj) y se protege en el control de código fuente. En un tutorial posterior, configurará los valores para el entorno de un desarrollador concreto.

  9. En Nombre de la base de datos de destino, escriba AdvWorksSandbox si aún no está especificado.

  10. En el menú Archivo, haga clic en Guardar los elementos seleccionados.

    Cada desarrollador especificará la cadena de conexión al servidor de bases de datos donde desee hospedar su copia de la base de datos.

Para implementar el proyecto en el entorno de desarrollo aislado

  1. En el Explorador de soluciones, haga clic en el nodo AdvWorksSandbox.

  2. Si va a implementar este proyecto en el mismo servidor de bases de datos que está ejecutando la base de datos AdventureWorks2008 o AdventureWorks2008R2 original, debe cambiar un nombre de archivo para evitar conflictos. Si, por el contrario, implementa en un servidor que no contenga la base de datos AdventureWorks2008 o AdventureWorks2008R2 original, puede ir al paso 7.

  3. Expanda sucesivamente las carpetas Objetos de esquema, Objetos de nivel de base de datos, Almacenamiento y Archivos.

    Aparecen tres archivos: AdventureWorks2008_Data.sqlfile.sql, AdventureWorks2008_Log.sqlfile.sql y FileStreamDocuments.sqlfile.sql. Si usa SQL Server 2008 R2, estos archivos aparecen: AdventureWorks2008R2_Data.sqlfile.sql, AdventureWorks2008R2_Log.sqlfile.sql y FileStreamDocuments2008R2.sqlfile.sql.

    Nota

    Las versiones anteriores de AdventureWorks no utilizaron FILESTREAM. Si importa una versión anterior de AdventureWorks, puede omitir el paso 7.

  4. Haga doble clic en FileStreamDocuments.sqlfile.sql.

    El archivo se abre en el editor de Transact-SQL.

  5. Modifique la definición del archivo para que coincida con lo siguiente:

    ALTER DATABASE [$(DatabaseName)]
        ADD FILE (NAME = [FileStreamDocuments], FILENAME = '$(DefaultDataPath)SandboxDocuments') TO FILEGROUP [DocumentFileStreamGroup];
    

    Si está utilizando AdventureWorks2008R2, debe utilizar la siguiente definición:

    ALTER DATABASE [$(DatabaseName)]
        ADD FILE (NAME = [FileStreamDocuments2008R2], FILENAME = '$(DefaultDataPath)SandboxDocuments') TO FILEGROUP [Document2008R2FileStreamGroup];
    
  6. En el menú Archivo, haga clic en Guardar todo.

  7. En el menú Proyecto, haga clic en Propiedades de AdvWorksSandbox.

    Aparecerá la ventana Propiedades del proyecto.

  8. Haga clic en la pestaña Implementar.

  9. En la lista Acción de implementación, haga clic en Crear un script de implementación (.sql) e implementar en la base de datos.

    Nota importanteImportante

    Si no cambia la acción de implementación, generará solo el script de implementación; no se implementará nada en la base de datos de destino.

  10. En el menú Generar, haga clic en Implementar AdvWorksSandbox.

    Se creará un script de generación para el proyecto de base de datos y después se implementará en el servidor de bases de datos donde decidió hospedar el entorno de desarrollo aislado. Cuando la implementación haya finalizado, aparecerá el mensaje Implementación correcta en la Ventana de salida.

    Ha definido un proyecto de base de datos e importado el esquema de una base de datos de producción. Ya puede poner la solución bajo control de versiones para ponerla a disposición del equipo.

Poner el proyecto a disposición del equipo

Para agregar un proyecto a un sistema de control de versiones

  1. En el Explorador de soluciones, haga clic en el nodo AdvWorksSandbox.

  2. En el menú Archivo, elija Control de código fuente y haga clic en Agregar solución al control de código fuente.

    En este punto, interactuará con el software de control de versiones que esté instalado. En este tutorial se describen los pasos para agregar el proyecto a Team Foundation Server. Si desea utilizar otro software de control de versiones, utilice los pasos equivalentes. Si usa Team Foundation Server, aparecerá el cuadro de diálogo Conectar con servidor Team Foundation Server.

  3. En Conectar con un servidor Team Foundation Server, haga clic en el servidor donde se encuentra el proyecto de equipo al que desea agregar la solución.

    Nota

    Si no tiene un proyecto de equipo al que agregar el proyecto de base de datos, vea Planear y seguir proyectos.

  4. En Proyectos de equipo, haga clic en el proyecto de equipo al que desea agregar el proyecto de base de datos y haga clic en Aceptar.

    Aparecerá el cuadro de diálogo Agregar la solución AdvWorksSandbox al control de código fuente.

  5. Para aceptar los valores predeterminados, haga clic en Aceptar.

    Su proyecto de base de datos y los archivos que contiene se colocan en el sistema de control de versiones. Inicialmente, todavía se encuentran desprotegidos. Protéjalos antes de que otros integrantes del equipo tengan acceso a ellos.

  6. En el menú Ver, elija Otras ventanas y, a continuación, haga clic en Cambios pendientes.

    Aparecerá la ventana Cambios pendientes.

  7. En el campo Comentario, escriba Creación del proyecto de base de datos inicial, importación de esquema y generación de datos.

  8. En la ventana Cambios pendientes, haga clic en Proteger en la barra de herramientas.

    Cuando se protege el proyecto de base de datos y los archivos que contiene, aparece el cuadro de diálogo Comprobación en curso. Los iconos del Explorador de soluciones se actualizarán para mostrar que los archivos se encuentran protegidos en el sistema de control de versiones.

Pasos siguientes

Con el proyecto de base de datos protegido en el sistema de control de versiones, el paso siguiente es establecer algunas medidas de control de calidad antes de que el equipo empiece a realizar cambios. En el siguiente tutorial de introducción, Tutorial: Establecer una línea base para el entorno de desarrollo aislado, creará pruebas unitarias y las generará, implementará y ejecutará en su entorno de desarrollo aislado.

Vea también

Tareas

Cómo: Crear proyectos de bases de datos y servidores

Conceptos

Iniciar el desarrollo de bases de datos de equipo

Descripción general de la generación e implementación de bases de datos

Información general acerca de la configuración del proyecto de base de datos

Historial de cambios

Fecha

Historial

Motivo

Compatibilidad agregada para SQL Server 2008 R2 y AdventureWorks2008R2.

Cambio de características de SP1.