Существует ли инструмент сравнения БД SQL Server с открытым исходным кодом?[закрыто]

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

Вопрос

Я работаю над проектом с открытым исходным кодом, который использует SQL Server 2005 в качестве хранилища данных.Нам нужен инструмент сравнения БД для создания сценариев сравнения, чтобы иметь возможность обновлять БД с одной версии на другую.

Существует ли инструмент сравнения баз данных SQL Server с открытым исходным кодом или бесплатный, который генерирует сценарий преобразования?

Это было полезно?

Решение

Я думаю, что Open DBiff хорошо справляется со своей задачей.Это просто, и я работаю с SQL Server 2005/2008.

Но только сгенерируйте сценарий изменения.Не больше, не меньше.

Другие советы

На CodePlex я заметил вчера Дбдифф (http://www.codeplex.com/OpenDBiff), что вы могли бы попробовать.Поддерживает Sql2005 и 2008, не пробовал.

Я бы порекомендовал потратить немного денег и получить SQL-сравнение Red Gate инструмент, который отлично справляется со своей задачей и может даже сравнивать базы данных с проектами баз данных Visual Studio для создания сценариев обновления.Он быстрый и простой в использовании и хорошо работает.Скрипты обновления также достойного качества.

Это не так уж и дорого.Вероятно, это дешевле, чем ваше время.Просто подумайте о том, сколько стоит ваша почасовая ставка и сколько часов может потребоваться, чтобы изучить инструмент с открытым исходным кодом и заставить его работать (и сколько вы уже потратили), а затем умножьте их вместе.Именно столько на самом деле вам стоит «бесплатный» инструмент, что зачастую значительно дороже, чем коммерческий инструмент.

Это не открытый исходный код, но бесплатный (как в случае с пивом): Sql Effects Accord (также известный как Clarity) Community Edition

AdeptSQL Diff и DataDiff — замечательные продукты, намного дешевле, чем RedGate, и имеют гораздо более упрощенный пользовательский интерфейс, и мне еще предстоит столкнуться со сценарием, с которым он не может справиться.

Алоха

Возможно, вы захотите попробовать Склдбдифф.Он может генерировать сценарии изменений.Бесплатная версия справляется со своей задачей достаточно хорошо.

Кто-нибудь пробовал xSQL Bundle (сравнение данных xSQL и сравнение объектов xSQL)?В нашем месте используются только различия БД, без синхронизации, поэтому не могу сказать, что касается синхронизации, но различия и отчеты неплохие.

Кроме того, у OpenDBDiff есть дополнительный вариант, не знаю, какой лучше - http://code.google.com/p/sql-dbdiff/

Кто-нибудь знает, предлагает ли какой-либо из упомянутых здесь инструментов сравнения баз данных с открытым исходным кодом или интерфейс командной строки с поддержкой сценариев или интерфейса для автоматизации различий и синхронизации?

Я изучил инструменты xSQL, они предлагают доступ к командной строке, но, к сожалению, нет скриптовой команды для экспорта результатов сравнения в файл (отчета).

Хотя это не совсем то, что вам нужно, я нашел это для postgres:

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

Он не создает различия для применения, а позволяет объединить полный дамп новой версии таблицы с предыдущей версией.

Хм, насколько я знаю, ничего такого.Вы всегда можете получить определения в виде SQL, а затем запустить для них инструмент сравнения, но это немного затруднительно.

Вероятно, лучшим решением для этого является использование какого-либо инструмента «Миграции», чтобы вы могли хранить определения базы данных вместе с вашим кодом, создавать их версии и т. д.

Обновлять

На Sourceforge я нашел Сравнение структур SQL Whiz с этим описанием:Whiz — это утилита сравнения баз данных, которая будет полезна для поиска различий между двумя базами данных MS-SQL Server.Он также может генерировать сценарий SQL для обновления изменений из одной базы данных в другую.

Однако мне пока не удалось заставить его работать...

У нас есть как SQL Delta, так и SQL Compare.У каждого есть сильные стороны, но у каждого есть и слабости, которые доставляют им немало хлопот.

SQL Delta пропустит некоторые триггеры при сравнении и предпримет действия, которых нет в списке действий, а иногда и действия, которые вы не хотели.Это было обнаружено дорогой ценой времени.

SQL Compare обнаружит триггеры, но они встроены в списки таблиц.В большой базе данных это означает просмотр каждой таблицы и их сортировку.Что-то, что инструмент должен был выделить для нас.Опять же, довольно большие затраты времени.

Немного поздно, но я только что выпустил очень простой проект на кодплексе:

http://dbcompare.codeplex.com

Введите (или создайте) две строки подключения, и они сравнят все таблицы, представления и хранимые процедуры.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top