Compartir a través de


Tutorial: Comparar los esquemas de una base de datos y un proyecto de base de datos

Actualización: noviembre 2007

En este tutorial se usa Visual Studio Team System Database para comparar el esquema de un proyecto de base de datos con el esquema de una base de datos.

En función de cómo use su equipo el proyecto de base de datos y la base de datos, es posible que desee copiar cambios de esquema en la base de datos o en el proyecto. Algunos de los escenarios típicos son:

  • El proyecto es el origen y la base de datos es el destino. Puede utilizar un proyecto de base de datos para desarrollar o mantener una base de datos. Después de realizar cambios de esquema en el proyecto, se copian a la base de datos, que está hospedada en un servidor de ensayo. El equipo podrá implementar después la base de datos en un servidor de producción.

    La acción de comparación de esquemas que va a realizar en este tutorial genera una secuencia de comandos DDL (Lenguaje de definición de datos) basado en las diferencias de los esquemas. Puede usar esta secuencia de comandos para aplicar a la base de datos todos los cambios (o sólo algunos) del proyecto de base de datos. Para obtener más información, vea Propagar cambios desde el proyecto a la base de datos.

  • La base de datos es el origen y el proyecto es el destino. A veces se detecta un error en el esquema de una base de datos de producción o el esquema queda anticuado. En ese caso, habrá que actualizar el esquema. Estos casos pueden requerir la aplicación de una actualización urgente a la base de datos. Para mantener el proyecto sincronizado con la base de datos, después de la actualización se puede importar en un proyecto de base de datos los cambios de esquema debidos a la actualización urgente. Para obtener más información, vea Cómo: Importar actualizaciones en el proyecto de base de datos desde una base de datos.

Las tareas ilustradas en este tutorial incluyen:

Fase de configuración

  1. Crear un proyecto de base de datos. El nuevo proyecto se inicia vacío.

  2. Comparar el esquema de la base de datos con el esquema del proyecto. En esta comparación, se designa un proyecto de base de datos como origen y la base de datos como destino. Una vez finalizada la comparación, esta configuración permite escribir las actualizaciones desde el esquema del proyecto de base de datos a la base de datos.

    Nota:

    También puede propagar los cambios de una base de datos de origen a un proyecto de base de datos de destino. Para obtener más información, vea Cómo: Importar actualizaciones en el proyecto de base de datos desde una base de datos.

  3. Importar el esquema de la base de datos en el proyecto. Ahora la base de datos y el proyecto tienen esquemas idénticos.

Fase de producción

  1. Agregar una tabla al proyecto de base de datos. Agregará una tabla denominada InternationalShippers, que tiene tres columnas.

  2. Comparar de nuevo los dos esquemas. La tabla InternationalShippers aparece como nueva en el proyecto de base de datos.

  3. Propagar cambios desde el proyecto a la base de datos. Puede elegir propagar la nueva tabla InternationalShippers a la base de datos Northwind. Si sigue este procedimiento, se sobrescribirán partes de la base de datos de ejemplo Northwind.

Requisitos previos

Para completar este tutorial, necesitará:

  • Microsoft SQL Server 2000 o Microsoft SQL Server 2005

  • Microsoft Visual Studio 2005 con Database Edition 

  • La base de datos Northwind

Fase de configuración

Crear un proyecto de base de datos

Para crear un proyecto de base de datos

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

    Aparece el cuadro de diálogo Nuevo proyecto.

  2. En Tipos de proyecto, expanda Proyectos de base de datos y, a continuación, haga clic en Microsoft SQL Server.

  3. En Plantillas, haga clic en SQL Server 2005.

  4. En Nombre, escriba Proyecto_Northwind y después haga clic en Aceptar.

    El proyecto Proyecto_Northwind se abre y aparece en el Explorador de soluciones. El proyecto está vacío.

    Nota:

    También puede usar Team Edition for Database Professionals para crear proyectos que no estén vacíos. Para obtener más información, vea Cómo: Crear proyectos de base de datos.

Comparar el esquema de la base de datos con el esquema del proyecto

Para comparar los dos esquemas

  1. (Opcional) Configure las opciones de comparación de esquemas. Para obtener más información, vea Opciones (Herramientas para bases de datos/Comparación de esquemas) y Cómo: Establecer opciones para comparar esquemas de base de datos.

  2. En el menú Datos, elija Comparación de esquemas y haga clic en Nueva comparación de esquemas.

    Se abre el cuadro de diálogo Nueva comparación de esquemas. En Esquema de origen aparece Proyecto_ Northwind.

  3. En Esquema de destino, asegúrese de que la opción Base de datos está activada y, a continuación, haga clic en la base de datos Northwind.

    Nota:

    Si la lista de Base de datos está vacía, haga clic en Nueva conexión. En el cuadro de diálogo Propiedades de la conexión, conéctese al servidor de bases de datos que contiene la base de datos Northwind y haga clic en Aceptar. Si la lista de Base de datos no está vacía y se conecta a la base de datos Northwind con Autenticación de SQL Server, aparece el cuadro de diálogo Conectar con SQL Server. Debe especificar sus credenciales para conectarse a la base de datos.

  4. En el cuadro de diálogo Nueva comparación de esquemas, haga clic en Aceptar.

    El esquema de la base de datos Northwind se compara con el esquema de Proyecto_Northwind. Los resultados de la comparación se muestran en la ventana Comparación de esquemas. Se muestra la acción de actualización Eliminar para cada objeto que existe en la base de datos Northwind y no existe en Proyecto_Northwind.

Importar el esquema de la base de datos en el proyecto

Para importar el esquema de la base de datos

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

    Se abre la Vista de esquema y se muestra el esquema de Proyecto_Northwind.

  2. Haga clic con el botón secundario en Proyecto_Northwind y después haga clic en Importar esquema de base de datos.

    Se abre el Asistente para importar bases de datos.

  3. En Conexión de base de datos de origen, haga clic en la base de datos Northwind.

  4. Haga clic en Finalizar.

    Se importa el esquema de la base de datos en el proyecto. Ahora los dos esquemas son idénticos.

    Nota:

    El proyecto de base de datos hereda muchas propiedades de la base de datos Northwind. Para mostrar estas propiedades, haga clic con el botón secundario en Proyecto_Northwind en el Explorador de soluciones y, a continuación, haga clic en Propiedades. La configuración importada incluye la Intercalación predeterminada en la página Configuración del proyecto y la opción de configuración Varios en la página Propiedades de la base de datos.

  5. Para comprobar que los dos esquemas son idénticos, haga clic en Actualizar en la barra de herramientas de Comparación de esquemas.

    Se comparan los esquemas de nuevo. Para los objetos de esquema que son idénticos, la acción de actualización mostrada es Omitir.

Fase de producción

Agregar una tabla al proyecto de base de datos

Para agregar una tabla al proyecto

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

    Se abre la Vista de esquema y se muestra el esquema de Proyecto_Northwind.

  2. En la Vista de esquema, expanda el nodo Proyecto_Northwind.

  3. Haga clic con el botón secundario en Tablas, elija Agregar y haga clic en Tabla.

    Se abre el cuadro de diálogo Agregar nuevo elemento - Proyecto_Northwind .

  4. En Plantillas, haga clic en Tabla.

  5. En Nombre, escriba InternationalShippers y, a continuación, haga clic en Agregar.

    Se agrega una tabla denominada InternationalShippers a Proyecto_Northwind. La definición de la tabla se muestra en el editor de Transact-SQL (T-SQL).

  6. Realice el siguiente cambio en la secuencia de comandos SQL de InternationalShippers.table.sql:

    CREATE TABLE [dbo].[InternationalShippers]
    (
    [ShipperID] [int] NOT NULL IDENTITY(1,1),
    [CompanyName] [nvarchar] (40) NOT NULL,
    [Region] [nvarchar] (40) NOT NULL,
    [Phone] [nvarchar] (24) NULL
    ) ON [PRIMARY]
    
  7. Haga clic en Guardar InternationalShippers.table.sql.

  8. En la Vista de esquema, haga clic con el botón secundario en la tabla InternationalShippers y, a continuación, haga clic en Ver archivo en Explorador de soluciones.

    Se resalta el archivo InternationalShippers.sql en el Explorador de soluciones.

  9. Presione F4.

    Aparece la ventana Propiedades, que muestra las propiedades del archivo InternationalShippers.table.sql. Observe que Build Action está establecida en Generar. Si establece el valor de la propiedad Build Action en Generar, indica que el archivo contiene la definición de un objeto de base de datos y que se debe analizar y validar.

Comparar los dos esquemas

Para comparar los dos esquemas

  1. Haga clic en la ficha Comparación de esquemas para volver a mostrar los resultados de la comparación más reciente.

  2. En la barra de herramientas de Comparación de esquemas, haga clic en Actualizar.

    El esquema de la base de datos Northwind se compara con el esquema de Proyecto_Northwind. Los resultados de la comparación se muestran en la ventana Comparación de esquemas. En la columna Proyecto_Northwind se muestra la tabla [dbo].[InternationalShippers].

    El estado de la nueva tabla es Nueva y su acción de actualización es Crear. Si propaga los cambios ahora, la tabla se creará en la base de datos de destino. Para obtener más información, vea el procedimiento siguiente.

Propagar cambios desde el proyecto a la base de datos

En este procedimiento se propaga la nueva tabla InternationalShippers a la base de datos Northwind. Para obtener más información, vea Cómo: Sincronizar esquemas de base de datos.

Precaución:

Este procedimiento sólo se describe con fines ilustrativos. Es probable que no desee realizar los pasos de este procedimiento, ya que al hacerlo se sobrescribirán partes de la base de datos de ejemplo Northwind. Use este procedimiento sólo si no le importa modificar la base de datos. Como alternativa, puede realizar el procedimiento en una copia de la base de datos Northwind.

Para propagar los cambios a la base de datos de destino

  • En la ventana Comparación de esquemas, haga clic en Escribir actualizaciones.

    Se ejecutan las acciones de actualización mostradas en la ventana Comparación de esquemas, incluida la acción de actualización Crear para la tabla InternationalShippers. Esta sincronización cambia el esquema de la base de datos de destino de forma que coincida con el del proyecto de base de datos de origen.

    Nota:

    Puede cancelar la acción de actualización mientras se está realizando; para ello, abra el menú Datos, elija Comparación de esquemas y, a continuación, haga clic en Detener escritura en destino.

    Precaución:

    Dado que no se pueden llevar a cabo algunos cambios de esquema, podría perder datos si cancela una operación de actualización. Por ejemplo, puede haberse quitado una tabla de la base de datos de destino al preparar su regeneración. Si cancela la actualización en ese momento, podría perder la tabla. Si se produce este tipo de pérdida de datos, deseará comparar de nuevo los esquemas.

Vea también

Tareas

Cómo: Comparar los esquemas de dos bases de datos

Cómo: Comparar los datos de dos bases de datos

Conceptos

Introducción a la terminología de Database Edition

Otros recursos

Comparar esquemas de base de datos

Comparar datos de bases de datos