Aplicación de escritorio (WPF, .NET 8) para comparar la estructura de dos bases de datos SQL Server que viven en máquinas distintas, incluso cuando no hay conexión directa entre ellas.
Usa DacFx para extraer el esquema como .dacpac, lo compara y genera un script para igualar destino con origen.
- Exporta cada base de datos a una carpeta con:
schema.dacpac: el esquema completotablas/*.sql: unCREATE TABLEpor tablaextended_properties.sql: las propiedades extendidas (descripciones de tablas y columnas)
- Compara online, con las dos conexiones abiertas a la vez.
- Compara offline, por carpetas: exportas en un entorno, copias la carpeta (por USB, por ejemplo), exportas en el otro y comparas las dos carpetas. Pensado para entornos PRO/PRE aislados.
- Genera en
salidas/:tablas_diferentes.txtobjetos_diferentes_dacpac.txtscript_igualar_destino_a_origen.sql
- Elige una carpeta de trabajo (si no eliges ninguna, se usa la del
.exe). - Pega las cadenas de conexión de Origen y Destino y pulsa Exportar en cada una.
- Pulsa Comparar y generar salidas.
Modo offline: pestaña Comparar por ficheros, selecciona las dos carpetas exportadas y compara.
El script generado no se ejecuta solo. Revísalo antes de lanzarlo contra ninguna base de datos.
Requiere Windows y el SDK de .NET 8.
dotnet build DCA.sln
dotnet run --project DCAC# · WPF · .NET 8 · Microsoft.SqlServer.DacFx · Microsoft.Data.SqlClient