Comparación de esquemas (versión preliminar) en SQL Server Management Studio

Applies to: SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Comparación de esquemas permite comparar dos definiciones de base de datos. El origen y el destino de la comparación pueden ser cualquier combinación de base de datos conectada, proyecto de base de datos SQL o .dacpac archivo. Una vez finalizada la comparación, los resultados aparecen como un conjunto de acciones que hacen que el destino sea el mismo que el origen. Las diferencias entre los modelos de base de datos se presentan como una diferencia de control de código fuente.

Si el destino de comparación de esquemas es un proyecto sql o una base de datos, puede actualizar el destino directamente desde la interfaz Comparación de esquemas o generar un script de actualización que tenga el mismo efecto.

Screenshot de la ventana Comparación de esquemas en SQL Server Management Studio que muestra una comparación entre un origen y target.

Comparación de esquemas proporciona las siguientes funcionalidades:

  • Compare esquemas entre dos .dacpac archivos, bases de datos o proyectos de base de datos SQL.
  • Vea los resultados como un conjunto de acciones para comparar un objetivo con la fuente.
  • Exclusión selectiva de las acciones mostradas en los resultados
  • Establecimiento de opciones que controlan el ámbito de la comparación
  • Aplique los cambios directamente al destino o genere un script para aplicar los cambios más adelante.
  • Guarde la comparación como un .scmp archivo para reutilizarlo.

Prerequisites

Iniciar comparación de esquemas

Puede abrir Comparación de esquemas en SSMS desde varios puntos de entrada.

Explorador de objetos

Haga clic con el botón derecho en una base de datos en Explorador de objetos y seleccione Tasks>Schema Compare (versión preliminar). La base de datos seleccionada se establece automáticamente como origen.

Explorador de soluciones

Haga clic con el botón derecho en un proyecto de base de datos SQL en Explorador de soluciones seleccione Schema Compare (versión preliminar). El proyecto seleccionado se establece automáticamente como origen.

Nota:

Para trabajar con proyectos de base de datos SQL en Explorador de soluciones, necesita la carga de trabajo Database DevOps.

Menú Herramientas

En el menú Herramientas, seleccione Comparación de esquemas (versión preliminar). Se abre la ventana Comparación de esquemas sin un origen o destino preestablecidos.

Selección del origen y destino

Una vez que se abra La comparación de esquemas, seleccione el origen y el destino de la comparación. Cada uno puede ser una base de datos conectada, un .dacpac archivo o un proyecto de base de datos SQL.

Captura de pantalla de las opciones de selección de origen y destino que muestra las opciones Base de datos, Aplicación de capa de datos (.dacpac) y Proyecto de base de datos.

  • Base de datos: conéctese a una instancia de base de datos en ejecución. El origen es la definición de base de datos que desea usar como base para los cambios en el destino.
  • Aplicación de capa de datos (.dacpac): Busque un archivo .dacpac compilado. .dacpac contiene una instantánea de un esquema de base de datos.
  • Database Project: seleccione un project de base de datos SQL abierto. Requiere la carga de trabajo de DevOps de base de datos.

El objetivo es la definición de la base de datos que desea evaluar y a la que quizá desee aplicar cambios.

Ejecutar y revisar la comparación

Seleccione Comparar en la barra de herramientas para iniciar el proceso de comparación.

Cuando finaliza la comparación, el panel Resultados muestra las diferencias estructurales entre el origen y el destino. Los resultados de la comparación agrupan todas las diferencias por acción, como Eliminar, Cambiar o Agregar.

Cada fila identifica el objeto en el esquema de origen o de destino (o ambos) y la acción que toma el proceso en el esquema de destino, para que el objeto de destino sea el mismo que el objeto de origen. Si cambia el nombre de un objeto o lo mueve a un nuevo esquema, los nombres de origen y destino son diferentes. El nombre de origen aparece en negrita para resaltar la diferencia.

De forma predeterminada, la lista de resultados oculta los objetos que son los mismos en ambos esquemas o que no se admiten para la actualización (por ejemplo, objetos integrados). Seleccione los botones de filtro adecuados en la barra de herramientas para mostrar estos objetos.

Para cambiar la preferencia de agrupación, seleccione la lista desplegable Agrupar los resultados de la barra de herramientas. Seleccione Tipo para agrupar los resultados por tipo de objeto, como por tablas, vistas o procedimientos almacenados.

Excluir diferencias

De forma predeterminada, la acción Actualizar destino incluye todas las diferencias en su ámbito. Para excluir las diferencias que no desea sincronizar, desactive la columna Incluir de cada fila. La fila se atenúa inmediatamente. Cuando Schema Compare actualiza el destino, no tiene en cuenta esa fila al aplicar los cambios pendientes.

Si una fila excluida tiene objetos dependientes, como una fila tabla a la que hace referencia una fila Vista , la fila excluida está deshabilitada, pero su casilla no se desactiva hasta que también desactive todas las filas dependientes. Si refactoriza una fila, como cambiar el nombre o moverla a otro esquema, la casilla está deshabilitada para esa fila y sus filas secundarias dependientes.

Opciones de comparación

Seleccione Opciones en la barra de herramientas para configurar qué objetos se comparan y qué tipos de diferencias se omiten. Entre las opciones se incluyen:

  • Omitir espacios en blanco
  • Omitir esquemas de partición
  • Omitir el orden de las columnas

También puede configurar qué tipos de objeto se incluyen en la comparación, como tablas, procedimientos almacenados, índices, permisos y tipos definidos por el usuario.

Aplicar cambios

Para actualizar el esquema del destino, tienes dos opciones:

  • Aplicar: aplique los cambios directamente a la base de datos de destino o al proyecto desde la ventana Comparación de esquemas.
  • Generate Script: genere un script de Transact-SQL que capture los mismos cambios, que puede revisar y ejecutar más adelante.

Un script generado aparece en el editor de Transact-SQL, donde puede inspeccionarlo y ejecutarlo en una base de datos.

Guardar comparaciones

Puede guardar la definición de comparación para Comparación de esquemas como un .scmp archivo, conocido como archivo de comparación de esquemas. Este archivo almacena información sobre la configuración de comparación en XML e incluye:

  • Información de conexión de origen y de destino
  • Opciones de comparación
  • Tipos de objeto excluidos

Puede abrir un .scmp archivo en SSMS para volver a ejecutar la misma comparación más adelante o para compartir la comparación con otros usuarios.