Compartir a través de


Cómo: Implementar cambios en bases de datos nuevas o existentes

Actualización: noviembre 2007

Si ha realizado cambios en el proyecto de base de datos, deberá implementarlos en el servidor de bases de datos ejecutando un script de generación. Al generar el script de generación, el esquema del proyecto de base de datos se compara con la base de datos de destino especificada en las propiedades del proyecto. Si la base de datos de destino existe, se crea un script de actualización, a menos que prefiera volver a crear la base de datos siempre. Si la base de datos de destino no existe o si decide volver a crear la base de datos siempre, el script de generación la crea. Si el proyecto de base de datos, sus propiedades o su contenido han cambiado desde la última generación o implementación, debe generar un script de generación actualizado la próxima vez que implemente el proyecto.

Nota importante:

Antes de generar o implementar el proyecto de base de datos, debe establecer las propiedades del proyecto para especificar la conexión a la base de datos de destino y el nombre de la base de datos. Si generó el proyecto de base de datos mediante el Asistente para nuevo proyecto de base de datos, seguramente ya ha especificado las propiedades del proyecto. Puede cambiar las propiedades del proyecto en cualquier momento. Para obtener más información, vea Cómo: Configurar proyectos de base de datos para la compilación e implementación.

Para implementar el proyecto de base de datos en una base de datos nueva o existente

  1. En el Explorador de soluciones, haga clic en el proyecto de base de datos que desee implementar.

    Si creó una configuración personalizada, puede especificar que se utilice haciendo clic en su nombre en la lista Configuraciones de soluciones de la barra de herramientas Estándar. De manera predeterminada hay una sola configuración para el proyecto de base de datos y ya se encuentra seleccionada.

  2. En el menú Generar, haga clic en Implementar.

    Se genera el script de generación para el proyecto de base de datos (si no existe o si no está actualizado) y a continuación se implementa. La ventana Resultados muestra los resultados de la implementación de la manera siguiente:

------ Generación iniciada: proyecto: proyectoDeBaseDeDatos, Configuración: Predeterminada Cualquier plataforma ------

Generando script de implementación para nombreDeBaseDeDatosDeDestino : EnableFullTextSearch, BlockIncrementalDeploymentIfDataLoss

proyectoDeBaseDeDatos --> file:///unidadDeProyecto:/Documents%20and%20Settings/nombreDeUsuario/Mis%20documentos/Visual%20Studio%202005/Proyectos/nombreDeSolución/proyectoDeBaseDeDatos/sql/proyectoDeBaseDeDatos.nombreDeServidorDeDestino_nombreDeInstanciaDeDestino.nombreDeBaseDeDatosDeDestino.sql

------ Implementación iniciada: proyecto: proyectoDeBasedeDatos, Configuración: Predeterminada Cualquier plataforma ------

Implementando el script unidadDeProyecto:\Documents and Settings\nombreDeUsuario\Mis documentos\Visual Studio 2005\Proyectos\nombreDeSolución\proyectoDeBaseDeDatos\sql\proyectoDeBaseDeDatos.nombreDeServidorDeDestino_nombreDeInstanciaDeDestino.nombreDeBaseDeDatosDestino.sql en el servidor nombreDeServidorDeDestino\nombreDeInstanciaDeDestino

file:///unidadDeProyecto:/Documents%20and%20Settings/nombreDeUsuario/Mis%20documentos/Visual%20Studio%202005/Proyectos/nombreDeSolución/proyectoDeBaseDeDatos/sql/proyectoDeBaseDeDatos.nombreDeServidorDeDestino_nombreDeInstanciaDestino.nombreDeBaseDeDatosDestino.sql --> Servidor:"nombreDeServidorDeDestino\nombreDeInstanciaDeDestino", Base de datos:"nombreDeBaseDeDatosDeDestino"

========== Generar: 1 correctos o actualizados, 0 incorrectos, 0 omitidos ==========

========== Implementar: 1 correctos, 0 incorrectos, 0 omitidos ==========

Para implementar el proyecto de base de datos en una base de datos nueva o existente desde la línea de comandos

  1. Abra una ventana Símbolo del sistema.

  2. Vaya al directorio del proyecto.

  3. En el símbolo del sistema, escriba la siguiente línea de comandos de ejemplo para generar un script de generación (donde proyectoDeBaseDeDatos es el nombre del proyecto):

    MSBuild /t:Build proyectoDeBaseDeDatos.dbproj

    Nota:

    MSBuild.exe debe encontrarse en la ruta de acceso que indique la variable de entorno PATH. Además, debe especificar TargetDatabase y TargetConnectionString en el proyecto de base de datos o como parte de la línea de comandos. Para obtener más información acerca de la sintaxis de línea de comandos para crear scripts de generación, vea Descripción general de la compilación e implementación de bases de datos.

    Aparecerán resultados similares a los siguientes:

Microsoft (R) Build Engine Version 3.5.20418.0

[Microsoft .NET Framework, Version 2.0.50727.1318]

Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 5/3/2007 2:27:39 PM.

__________________________________________________

Project "ProjectDrive:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\proyectoDeBaseDeDatos\proyectoDeBaseDeDatos.dbproj" (Build target(s)):

Target SqlBuild:

Building deployment script for nombreDeBaseDeDatosDeDestino : EnableFullTextSearch, BlockIncrementalDeploymentIfDataLoss

. proyectoDeBaseDeDatos --> file:///unidadDeProyecto:/Documents%20and%20Settings/UserName/My%20Documen

ts/Visual%20Studio%202005/Projects/SolutionName/proyectoDeBaseDeDatos/sql/proyectoDeBaseDeDatos.nombreDeServidorDeDestino_nombreDeInstanciaDeDestino.nombreDeBaseDeDatosDeDestino.sql

Build succeeded.

0 Warning(s)

0 Error(s)

Time Elapsed 00:00:05.01

  1. En el símbolo del sistema, escriba la siguiente línea de comandos de ejemplo para implementar el script de generación que creó en el paso 3:

    MSBuild /t:Deploy proyectoDeBaseDeDatos.dbproj

    Aparecerán resultados similares a los siguientes:

    Microsoft (R) Build Engine Version 3.5.20418.0

    [Microsoft .NET Framework, Version 2.0.50727.1318]

    Copyright (C) Microsoft Corporation 2007. All rights reserved.

    Build started 5/3/2007 2:27:39 PM.

    __________________________________________________

    Project "ProjectDrive:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\proyectoDeBaseDeDatos\proyectoDeBaseDeDatos.dbproj" (Deploy target(s)):

    Target SqlDeploy:

    Deploying script unidadDeProyecto:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\proyectoDeBaseDeDatos\sql\proyectoDeBaseDeDatos.nombreDeServidorDeDestino_nombreDeInstanciaDeDestino.nombreDeBaseDeDatosDeDestino.sql to server nombreDeServidorDeDestino\nombreDeInstanciaDeDestino

    file:///unidadDeProyecto:/Documents%20and%20Settings/UserName/My%20Documents/Visual%20Studio%202005/Projects/SolutionName/proyectoDeBaseDeDatos/sql/proyectoDeBaseDeDatos.nombreDeServidorDeDestino_nombreDeInstanciaDeDestino.nombreDeBaseDeDatosDeDestino.sql --> Server:"nombreDeServidorDeDestino\nombreDeInstanciaDeDestino", Database:"nombreDeBaseDeDatosDeDestino"

    Build succeeded.

    0 Warning(s)

    0 Error(s)

    Time Elapsed 00:00:02.56

Implementar en varias bases de datos o en varios servidores

Puede implementar el esquema en varias bases de datos o en varios servidores. Si va a implementar en un número reducido de servidores o bases de datos que no cambian (por ejemplo, si desea implementar en su servidor de desarrollo personal y en un servidor de ensayo), puede crear varias configuraciones de generación. Cada configuración de generación puede tener una base de datos o un servidor de destino distinto. Si necesita implementar en un gran número de servidores o si los nombres del servidor o la base de datos de destino cambian regularmente, debe usar un enfoque distinto. Estos enfoques se describen a continuación.

Para crear varias configuraciones de generación para implementar en varios servidores o en varias bases de datos

  1. Abra el proyecto de base de datos en Visual Studio Team System Database.

  2. En el menú Generar, haga clic en Administrador de configuración.

    Aparece el cuadro de diálogo Administrador de configuración.

  3. En la lista Configuración de soluciones activas, haga clic en <Nuevo>.

    Aparecerá el cuadro de diálogo Nueva configuración de la solución.

  4. En Nombre, escriba el nombre de la configuración del primer servidor.

  5. Si las propiedades del proyecto ya están establecidas en la configuración predeterminada, en la lista Copiar configuración de, haga clic en Predeterminada.

  6. Haga clic en Aceptar.

  7. En el cuadro de lista Configuración de soluciones activas, haga clic en <Nuevo>.

    Aparecerá el cuadro de diálogo Nueva configuración de la solución.

  8. En Nombre, escriba el nombre de la configuración del segundo servidor.

  9. Si las propiedades del proyecto ya están establecidas en la configuración predeterminada, en la lista Copiar configuración de, haga clic en Predeterminada.

  10. Haga clic en Cerrar.

  11. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto de base de datos y, a continuación, haga clic en Propiedades.

  12. Haga clic en la ficha Generar.

  13. En Configuración, haga clic en el nombre de la configuración del primer servidor.

  14. Modifique la conexión de destino y el nombre de la base de datos de forma que coincidan con los de la configuración del primer servidor.

  15. En Configuración, haga clic en el nombre de la configuración del segundo servidor.

  16. Modifique la conexión de destino y el nombre de la base de datos de forma que coincidan con los de la configuración del segundo servidor.

  17. En el menú Archivo, haga clic en Guardar los elementos seleccionados para guardar la configuración.

    Ahora puede especificar una configuración en la barra de herramientas Estándar y generar o implementar dicha configuración.

Para implementar en bases de datos desde la línea de comandos

  • En una ventana de Símbolo del sistema, implemente el script de generación escribiendo la siguiente línea de comandos (reemplace el nombre del script de generación, el nombre del servidor y el nombre de la base de datos de destino por los valores que correspondan).

    MSBuild /t:Deploy /p:TargetDatabase=nombreDeBaseDeDatosDeDestino /p:BuildScriptName=YourBuildScript.sql nombreDeProyectoDeBaseDeDatos.dbproj

    Nota:

    Para implementar en varios servidores, debe reemplazar la propiedad de cadena de conexión de destino especificando la siguiente línea en una ventana de símbolo del sistema: /p:TargetConnectionString="Data Source=nombreDeServidor;Integrated Security=True;Pooling=False".

Seguridad

Para implementar el proyecto de base de datos, debe disponer de los permisos necesarios para crear la base de datos (en las implementaciones nuevas) y para crear, modificar y eliminar los objetos de esquema de esa base de datos.

Vea también

Tareas

Cómo: Preparar scripts de compilación de base de datos

Conceptos

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

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

Introducción a la terminología de Database Edition

Otros recursos

Tutoriales (Crear y actualizar esquemas de base de datos con control de versiones)