¿Existe una herramienta de comparación de bases de datos de SQL Server de código abierto?[cerrado]

StackOverflow https://stackoverflow.com/questions/22792

Pregunta

Estoy trabajando en un proyecto de código abierto que utiliza SQL Server 2005 como almacén de datos.Necesitamos una herramienta de comparación de bases de datos para generar scripts de diferencias para poder actualizar una base de datos de una versión a otra.

¿Existe una herramienta de diferenciación de base de datos de SQL Server gratuita o de código abierto que genere un script de conversión?

¿Fue útil?

Solución

Creo que Open DBiff hace un buen trabajo.Es simple y trabajo con SQL Server 2005/2008.

Pero solo genere el script de cambio.Nada más y nada menos.

Otros consejos

En CodePlex me di cuenta ayer DbDif (http://www.codeplex.com/OpenDBiff) que podrías intentar.Soporta Sql2005 y 2008, no lo probé.

Recomiendo gastar algo de dinero y conseguir Comparación SQL de Red Gate herramienta que hace un excelente trabajo e incluso puede comparar bases de datos con proyectos de bases de datos de Visual Studio para generar scripts de actualización.Es rápido y fácil de usar y funciona bien.Los scripts de actualización también son de calidad decente.

No es tan caro.Probablemente menos costoso que su tiempo.Solo piense en cuánto es su tarifa por hora y cuántas horas podría llevar investigar una herramienta de código abierto y hacerla funcionar (y cuántas ya ha invertido), luego multiplíquelas.Eso es lo que realmente le cuesta una herramienta "gratuita", que a menudo es mucho más que una herramienta comercial.

No es de código abierto, pero es gratuito (como en la cerveza): Sql Effects Accord (también conocido como Clarity) Edición comunitaria

AdeptSQL Diff y DataDiff son productos maravillosos, mucho más baratos que los de RedGate y una interfaz de usuario mucho más simplificada, y todavía tengo que encontrarme con un escenario que no pueda manejar.

aloha

Quizás quieras intentarlo SqlDbDiff.Puede generar scripts de cambio.La edición gratuita hace un trabajo bastante bueno.

¿Alguien ha probado el paquete xSQL (comparación de datos xSQL y comparación de objetos xSQL)?Nuestro lugar solo se utiliza para diferencias de base de datos, no para sincronizaciones, por lo que no puedo decirlo sobre sincronización, pero las diferencias y los informes no son malos.

Además, OpenDBDiff tiene un derivado, no estoy seguro de cuál es mejor. http://code.google.com/p/sql-dbdiff/

¿Alguien sabe si alguna de las herramientas de diferenciación de bases de datos gratuitas/de código abierto mencionadas aquí ofrece una interfaz de línea de comandos/programable para automatizar las diferencias y la sincronización?

Busqué herramientas xSQL, ofrecen acceso a la línea de comandos pero, desafortunadamente, no hay ningún comando programable para exportar resultados de diferencias a un archivo (de informe).

Si bien no es exactamente lo que quieres, encontré esto para postgres:

http://mbk.projects.postgresql.org/

No genera una diferencia para aplicar, sino que le permite fusionar un volcado completo de la nueva versión de la tabla con la versión anterior.

Mmm, ninguno que yo sepa.Siempre puedes recuperar las definiciones como SQL y luego ejecutar una herramienta de diferenciación en ellas, pero es un poco molesto.

Probablemente la mejor solución para esto sea utilizar algún tipo de herramienta de "Migraciones", para que pueda mantener las definiciones de su base de datos junto con su código, versionarlas, etc.

Actualizar

En Sourceforge encontré Comparación de estructuras Whiz SQL con esta descripción:Whiz es una utilidad de diferenciación de bases de datos que será útil para encontrar diferencias entre dos bases de datos de MS-SQL Server.También puede generar un script SQL para actualizar los cambios de una base de datos a otra.

Sin embargo, hasta ahora no he logrado que funcione...

Tenemos SQL Delta y SQL Compare.Cada uno tiene fortalezas, pero también tiene debilidades que los convierten en un verdadero dolor de cabeza.

SQL Delta omitirá algunos activadores en su comparación y tomará acciones que no se encuentran en la lista de acciones y, a veces, tomará acciones que usted no desea que tome.Esto se descubrió con un gran coste de tiempo.

SQL Compare detectará los desencadenantes, pero están integrados en los listados de la tabla.En una base de datos grande, eso significa revisar cada tabla y seleccionarlas.Algo que la herramienta debería haber aislado para nosotros.De nuevo, un gran coste en tiempo.

Es un poco tarde, pero acabo de publicar un proyecto realmente simple en código plex:

http://dbcompare.codeplex.com

Ingrese (o cree) dos cadenas de conexión y comparará todas las tablas, vistas y procedimientos almacenados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top