Altova DiffDog 2024 Enterprise Edition

Comparar esquemas de base de datos

Inicio Anterior Inicio Siguiente

La comparación de esquemas de base de datos permite comparar objetos de dos esquemas de base de datos distintos, en cuanto a su estructura o tamaño. Los objetos de la base de datos que se pueden comparar son las tablas, columnas, vistas y funciones y los procedimientos almacenados. La comparación funciona de forma distinta dependiendo del tipo de objeto que se compara. En el caso de las tablas los resultados de la comparación muestran las diferencias estructurales (columnas, restricciones y tipos de datos distintos, por ejemplo). En el caso de las vistas y funciones y de los procedimientos almacenados, los resultados de la comparación muestran si el tamaño del objeto es igual o distinto en las bases de datos comparadas.

 

Nota:la función de comparación no permite comparar texto línea por línea en las definiciones de objetos de la base de datos. Para comparar línea por línea dos definiciones de objetos (por ejemplo, vistas de base de datos) primero deberá guardar las definiciones en archivos y después deberá abrir ambos archivos en la vista de comparación de archivos.

 

Para iniciar una comparación de esquemas de base de datos haga clic en el botón Comparación de esquemas ic_schema-compare de la barra de herramientas. En pantalla aparecen dos componentes de base de datos (un componente situado a la izquierda y otro a la derecha). Antes de ejecutar la comparación propiamente dicha, deberá asignar un origen de datos a ambos componentes. Después podrá seleccionar todos los objetos de un esquema o solamente algunos objetos. Para cambiar los objetos que se incluyen en la comparación haga clic en el botón Examinar diff_browse_button del componente derecho o izquierdo y active/desactive las casillas correspondientes. Para más información consulte el apartado Ejecutar una comparación de esquemas de BD.

dbdiff_schema_comparison_sample

Ejemplo de comparación de esquemas de base de datos

El ejemplo de comparación de esquemas de base de datos que aparecen en la imagen anterior muestra el resultado que se obtiene al comparar un procedimiento almacenado, una tabla y una vista en dos bases de datos SQL Server llamadas "ZooDB" y "ZooDBTarget". Las definiciones de tabla son idénticas en ambos esquemas (tal y como indica el icono ic_equal), mientras que la definición del procedimiento almacenado y de la vista son distintos (tal y como indica el icono ic_diffs).

 

La comparación de esquemas de base de datos se puede guardar en un archivo que tiene la extensión .dbsdif. El archivo de comparación almacena toda la información de conexión de las bases de datos de la comparación, los objetos de base de datos que seleccionó para la comparación y todas las opciones de configuración que se definieron en la ventana Propiedades (véase también Archivos de comparación de esquemas de BD).

 

Puede configurar varias opciones de comparación de bases de datos. Por ejemplo, puede configurar DatabaseSpy para que identifique automáticamente qué tablas o columnas se deben comparar (en función de su nombre, de su tipo de datos o ambos) o puede realizar la asignación a mano. Las opciones de comparación se pueden configurar en Herramientas | Opciones de DiffDog | Comparación de bases de datos.

 

Una vez ejecutada la comparación de esquemas de base de datos podrá generar un script de combinación con el que podrá actualizar la base de datos de la izquierda con la de la derecha o viceversa. Puede revisar y ejecutar el script de combinación en DiffDog directamente, abrirlo con DatabaseSpy o guardarlo en un archivo. También puede seleccionar qué objetos se incluyen en el script de combinación (por ejemplo, una o varias columnas de una tabla). Para más información consulte el apartado Combinar esquemas de base de datos.

 

Nota:el script de combinación solo sincroniza las diferencias que resultan de la comparación de las estructuras de las tablas (incluyendo las diferencias encontradas en columnas, claves o restricciones). No es posible combinar las diferencias encontradas en los demás tipos de objetos (como procedimientos almacenados, funciones y vistas).

 

© 2017-2023 Altova GmbH