Tutorial: Comparar los esquemas de dos bases de datos

Actualización: noviembre 2007

En este tutorial, comparará los esquemas de dos bases de datos mediante Visual Studio Team System Database. La acción de comparación de esquemas también genera un script de Lenguaje de definición de datos (DDL) a partir de las diferencias. Utilice este archivo para sincronizar el esquema del destino con el esquema del origen. Para obtener más información, vea Comparar esquemas de base de datos.

En este tutorial, realizará los siguientes procedimientos:

  • Crear una base de datos vacía. La base de datos Northwind actuará como el origen y creará una base de datos vacía que servirá de destino.

  • Comparar los esquemas de dos bases de datos. Al comparar los esquemas, encontrará las diferencias estructurales entre las bases de datos, verá esas diferencias en una tabla y generará un script DDL que exprese esas diferencias.

  • Para examinar el script de sincronización. Comprobará el script DDL y podrá editarlo antes de ejecutarlo.

  • Actualizar la base de datos de destino. Ejecutará el script DDL para cambiar el esquema del destino.

Requisitos previos

Debe tener los siguientes productos instalados:

  • Microsoft SQL Server 2000 o Microsoft SQL Server 2005

  • Database Edition 

Debe tener dos bases de datos que comparar. Empezará con la base de datos Northwind como origen. También creará una base de datos vacía que actuará como destino. Esto se describe en el procedimiento siguiente.

Crear una base de datos vacía

Siga estos pasos para crear una base de datos vacía.

Para crear una base de datos vacía

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

    Aparecerá el cuadro de diálogo Nuevo proyecto.

  2. Si desea crear una base de datos de SQL Server 2000, haga clic en Asistente para SQL Server 2000. Si desea crear una base de datos de SQL Server 2005, haga clic en Asistente para SQL Server 2005.

  3. En Nombre, escriba EmptyNW.

  4. Acepte los valores predeterminados para los campos restantes y, a continuación, haga clic en Aceptar.

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

  5. Haga clic en Configurar generación e implementación.

  6. En Conexión de destino, haga clic en el botón Examinar y especifique la conexión al servidor de bases de datos donde desea crear la base de datos vacía.

  7. Haga clic en Finalizar.

    Se creará un proyecto de base de datos denominado EmptyNW, y aparecerá en el Explorador de soluciones.

  8. Haga clic en el proyecto de base de datos EmptyNW en el Explorador de soluciones.

  9. En el menú Generar, haga clic en ImplementarnombreDeProyecto.

    El proyecto de base de datos se generará e implementará en el servidor especificado.

Comparar los esquemas de dos bases de datos

Para comparar los esquemas de dos bases de datos

  1. Abra Database Edition.

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

    Aparecerá el cuadro de diálogo Comparación de esquemas. Utilícelo para especificar el origen y el destino. En este cuadro de diálogo se identifican los servidores en los que residen el origen y el destino, el nombre de cada base de datos y el tipo de autenticación que se utilizará cuando se conecte a cada base de datos.

    Por otra parte, la ventana Comparación de esquemas se abrirá en segundo plano y Database Edition le asignará automáticamente un nombre, como SchemaCompare1.

  3. En Base de datos de origen, en Nombre del servidor, escriba el nombre del servidor en el que reside la base de datos Northwind.

  4. En Seleccionar o escribir nombre de base de datos, escriba Northwind.

  5. En Nombre de la base de datos de destino, escriba el nombre del servidor en el que reside la base de datos EmptyNW. Este nombre de servidor debería coincidir con el que escribió para el origen.

  6. En Seleccionar o escribir nombre de base de datos, escriba EmptyNW.

  7. Haga clic en Finalizar.

    Se iniciará la comparación de esquemas.

    Nota:

    Si desea detener una operación de comparación de esquemas en curso, abra el menú Datos, elija Comparación de esquemas y haga clic en Detener comparación de esquemas.

    Nota:

    Puede configurar opciones para determinar qué se considera una diferencia y para cambiar el modo en que se crea el script de actualización. Para obtener más información, vea Cómo: Establecer opciones para comparar esquemas de base de datos.

    Cuando la comparación finaliza, las diferencias estructurales entre las dos bases de datos aparecen en la tabla de la ventana Comparación de esquemas. La tabla muestra una fila para cada objeto de base de datos que existe en cualquiera de las dos bases de datos. Los objetos de base de datos se organizan por tipo: tablas, vistas, procedimientos almacenados, funciones, etc.

Actualizar la base de datos de destino

Para actualizar el esquema del destino, tiene dos opciones. Puede actualizar el esquema en la ventana Comparación de esquemas directamente o puede hacerlo en el editor de T-SQL. En esta sección se describen ambas opciones.

Después de haber realizado la comparación de esquemas, las diferencias estructurales aparecen en la tabla de la ventana Comparación de esquemas. Para cada objeto de la columna Northwind (base de datos de origen), en la columna Acción de actualización aparece la acción que sería necesaria para sincronizar ese objeto en ambas bases de datos. En este caso, dado que el destino está vacío y sólo contiene objetos predeterminados, la columna Estado contiene principalmente estados nuevos y la columna Acción de actualización contiene principalmente acciones de creación.

Escribir actualizaciones en el destino

Puede actualizar el esquema del destino utilizando las acciones de actualización mostradas en la ventana Comparación de esquemas. Para realizar esta tarea, siga los pasos descritos en Escribir actualizaciones en la base de datos de destino.

Ver el script y después escribir actualizaciones en el destino

Puede exportar un script de actualización, examinarlo, quizás modificarlo y, a continuación, utilizarlo para sincronizar la base de datos de destino. Para realizar estas tareas, siga los pasos descritos en Examinar y ejecutar el script de sincronización.

Escribir actualizaciones en la base de datos de destino

Para escribir actualizaciones en la base de datos de destino

  1. (Opcional pero recomendado) Realice una copia de seguridad de la base de datos de destino.

    Dado que algunos cambios de esquema no se pueden llevar a cabo en una transacción, podría perder datos si inicia y cancela una operación de actualización. Por ejemplo, puede haberse quitado una tabla de la base de datos de destino antes de volver a crearla. Si cancela la actualización en ese momento, podría perder la tabla.

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

    Se ejecutarán las acciones de actualización enumeradas en la ventana Comparación de esquemas. Esta sincronización cambia el esquema del destino para que coincida con el del 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.

    Nota:

    La comparación no se actualiza automáticamente. Si desea volver a ejecutar la comparación para comprobar si se han aplicado las actualizaciones seleccionadas, debe hacer clic en el botón Actualizar en la barra de herramientas Comparación de esquemas.

Examinar y ejecutar el script de sincronización

Para examinar el script de sincronización

  1. En el menú Datos, elija Comparación de esquemas, elija Exportar a y, a continuación, haga clic en Editor. También puede hacer clic en Exportar a editor en la barra de herramientas Comparación de esquemas.

    El editor de T-SQL se abre en modo de conexión y muestra el script T-SQL de sincronización. El nombre de esta ventana será similar a Server.Northwind - SchemaUpdate_EmptyNW_1.sql y en ella se muestra el script T-SQL, que se encuentra en un archivo de la carpeta Mis Documentos/Visual Studio 2005/Mis proyectos. Dado que tiene acceso de escritura y lectura en esta ventana, puede cambiar el script. Si lo cambia, abra el menú Archivo y, a continuación, haga clic en Guardar.

  2. Para sincronizar los esquemas de las dos bases de datos, ejecute este script; para ello, haga clic en Ejecutar SQL en la barra de herramientas Comparación de esquemas o presione la tecla F5.

    Nota:

    La comparación no se actualiza automáticamente. Si desea volver a ejecutar la comparación para comprobar si se han aplicado las actualizaciones seleccionadas, debe hacer clic en el botón Actualizar en la barra de herramientas Comparación de esquemas.

Pasos siguientes

Ahora, puede comparar los datos de las dos bases de datos. Para obtener más información, vea Cómo: Comparar los datos de dos bases de datos.

Vea también

Tareas

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

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

Conceptos

Introducción a la terminología de Database Edition

Otros recursos

Comparar datos de bases de datos