Esta documentación está archivada y no tiene mantenimiento.

Tutorial: Comparar los datos de dos bases de datos

Actualización: noviembre 2007

En este tutorial, comparará los datos de dos bases de datos, generará un script DML (Lenguaje de manipulación de datos) con las diferencias y, a continuación, utilizará ese script para llenar el destino con los datos del origen.

Seguirá los procedimientos de este tutorial:

Para poder realizar ese tutorial, debe tener los productos siguientes instalados:

  • Microsoft SQL Server 2000 o Microsoft SQL Server 2005

  • Visual Studio Team System Database.

Antes de comenzar este tutorial, siga los pasos de los procedimientos descritos en Tutorial: Comparar los esquemas de dos bases de datos. Después de finalizar el tutorial, tendrá dos bases de datos:

  • El origen, Northwind, tiene su estructura original y contiene sus datos originales.

  • El destino, EmptyNW, es la base de datos que creó en el tutorial para comparar el esquema. Después, aplicó sólo el esquema de la base de datos Northwind a EmptyNW. Por consiguiente, EmptyNW no contiene datos.

Esta sección contiene dos procedimientos. En el primer procedimiento se comparan bases de datos y se generan resultados. En el segundo, examinará los resultados obtenidos.

Para comparar los datos de dos bases de datos

  1. En el menú Datos, señale a Comparación de datosy, a continuación, haga clic en Nueva comparación de datos.

    Aparece el asistente Nueva comparación de datos. Utilícelo para configurar la comparación de datos. Para configurar la comparación, debe especificar el servidor en el que reside cada base de datos, el tipo de autenticación que se utilizará para la conexión con dicho servidor y el nombre de cada base de datos que desea comparar.

    Por otra parte, la ventana Comparación de datos se abrirá en segundo plano y Visual Studio le asignará automáticamente un nombre, como DataCompare1.

  2. En el asistente Nuevacomparación de datos, seleccione la base de datos de origen, Northwind. En la lista Base de datos de origen, su nombre aparece con el formato Server.Northwind.dbo.

    Si la lista Base de datos de origen está vacía, haga clic en Nueva conexión. En el cuadro de diálogo Propiedades de la conexión, identifique el servidor en el que reside la base de datos Northwind y el tipo de autenticación que se usará para la conexión con la base de datos. A continuación, haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de la conexión y volver al asistente Nueva comparación de datos.

  3. Seleccione la base de datos de destino, EmptyNW. En la lista Base de datos de destino aparece el nombre de la base de datos como Server.EmptyNW.dbo.

    Si la lista Base de datos de destino está vacía, haga clic en Nueva conexión. En el cuadro de diálogo Propiedades de la conexión, identifique el servidor en el que reside la base de datos EmptyNW y el tipo de autenticación que se usará para la conexión con la base de datos. A continuación, haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de la conexión y volver al asistente Nueva comparación de datos.

  4. Si desea restringir los registros que aparecerán en los resultados de la comparación, puede especificar opciones avanzadas de comparación de datos. Para este tutorial, acepte los valores predeterminados para ver todos los registros.

  5. Haga clic en Siguiente.

    En la segunda página del asistente Nueva comparación de datos, puede precisar las tablas y vistas que desea comparar. Todas las tablas de la base de datos se muestran bajo el nodo Tablas. Puede expandir cada una de las tablas para ver las columnas que contienen. De forma predeterminada, se seleccionan todas las tablas y columnas. Esto significa que se compararán todas.

    Aa833273.alert_note(es-es,VS.90).gifNota:

    Si desea especificar de manera personalizada qué tablas y vistas se van a comparar, puede hacer clic en Finalizar en lugar de en Siguiente.

  6. Para excluir una tabla o columna determinada, desactive su casilla. Para incluir una tabla o columna determinada, active su casilla.

  7. Haga clic en Finalizar para comenzar la comparación.

    Se iniciará la comparación.

    Aa833273.alert_note(es-es,VS.90).gifNota:

    Para detener una operación de comparación de datos en curso, haga clic en Detener en la barra de herramientas Comparación de datos.

    Al finalizar la comparación, las diferencias entre los datos de las dos bases de datos aparecen en una tabla en la ventana Comparación de datos. Para obtener más información sobre cómo examinar los resultados, vea el procedimiento siguiente.

    Ahora, puede decidir actualizar los datos del destino de manera que coincidan con los del origen. Para obtener más información, vea Actualizar la base de datos de destino.

Para ver los resultados de la comparación de datos

  1. Haga clic en la fila [dbo].[Orders].

    Los nombres de las fichas del panel Vista de registros cambian para incluir el número de registros de cada tipo: Registros diferentes (0), Sólo en origen (830), Sólo en destino (0) y Registros idénticos (0).

  2. Haga clic en la ficha Sólo en origen (830).

    En la ficha Sólo en origen (830), cada fila y columna se corresponde con una fila o columna de la tabla [dbo].[Orders].

    Aa833273.alert_note(es-es,VS.90).gifNota:

    Puede utilizar estas fichas para controlar los datos que se propagan en el destino. Para obtener más información, vea Escribir actualizaciones en la base de datos de destino.

Puede actualizar los datos en el destino directamente desde la ventana Comparación de datos o desde el editor de Transact SQL (T-SQL). En esta sección se describen ambas opciones.

Después de comparar los datos, las diferencias aparecen en la cuadrícula de la ventana Comparación de datos. Para cada tabla o vista de la columna Objeto hay una casilla que indica si ese objeto estaría incluido en una operación de actualización. Las columnas muestran los cambios que ha indicado la comparación de datos y de qué tipo de cambios se trata. En este caso, dado que el destino está vacío y sólo contiene los objetos predeterminados, únicamente la columna Sólo en origen muestra los cambios que se realizarían.

Escribir actualizaciones utilizando las opciones de comparación de datos

Para actualizar los datos en el destino utilizando las acciones de actualización que aparecen en la ventana Comparación de datos, realice el procedimiento siguiente:

Escribir actualizaciones utilizando el editor de T-SQL

Para exportar, examinar y cambiar un script de actualización y después utilizarlo para cambiar el destino, realice el procedimiento siguiente:

Actualizar la base de datos de destino

Para actualizar el destino

  1. En la ventana Comparación de datos, haga clic en [dbo].[Products].

  2. En el panel de detalles, haga clic en Sólo en destino.

    Las dos primeras filas se denominan Chai y Chang.

    La barra de estado del panel de detalles indica el número de registros que no se encuentran en el origen y el número de registros que se eliminarán en el destino. Estas dos cifras coinciden.

  3. Desactive la casilla de la fila para Chai.

    En la barra de estado del panel de detalles, el número de registros que se van a eliminar incluye un registro menos. Ya no coincide con el número de registros que no se encuentran en el origen.

  4. En la ventana Comparación de datos, haga clic en Escribir actualizaciones.

    Se implementarán las acciones de actualización que se mostraban en la ventana Comparación de datos. Esta sincronización cambia el destino para que coincida con el origen.

    Aa833273.alert_note(es-es,VS.90).gifNota:

    Mientras se actualiza el destino, para cancelar la operación, haga clic en Detener escritura en destino.

Examinar y ejecutar el script de sincronización

Para examinar el script de sincronización

  1. En la ventana Comparación de datos, haga clic en Exportar a editor.

    El editor de T-SQL se abre en modo de conexión y muestra el script T-SQL. El nombre de esta ventana será similar a Server.Northwind - DataUpdate_EmptyNW_1.sql. Dado que tiene acceso de escritura en esta ventana, puede cambiar el script. Si realiza cambios, haga clic en Guardar cuando haya finalizado.

  2. Para sincronizar los datos de las dos bases de datos, ejecute este script: haga clic en Ejecutar SQL o presione F5.

    Aa833273.alert_note(es-es,VS.90).gifNota:

    Si desea cancelar la ejecución del script, haga clic en Cancelar ejecución de consultao presione Alt + Inter.

Mostrar: