Подтвердить что ты не робот

Есть ли инструмент сравнения SQL Server с открытым исходным кодом?

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

Есть ли открытый источник или бесплатный инструмент SQL SQL DB diff, который генерирует преобразование script?

4b9b3361

Ответ 1

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

Но только сгенерируйте изменение script. Ничего больше и не меньше.

Ответ 2

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

Ответ 3

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

Это не так дорого. Наверное, дешевле, чем ваше время. Просто подумайте о том, насколько ваша почасовая ставка и сколько часов потребуется, чтобы исследовать инструмент с открытым исходным кодом и заставить его работать (и сколько вы уже потратили), а затем умножить их вместе. То, что "бесплатный" инструмент действительно стоит вам, что часто значительно больше, чем коммерческий инструмент.

Ответ 5

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

Ответ 6

Алоха

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

Ответ 7

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

Кроме того, OpenDBDiff имеет отключение, не уверен, что лучше - http://code.google.com/p/sql-dbdiff/

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

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

Ответ 8

Пока это не совсем то, что вы хотите, я нашел это для postgres:

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

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

Ответ 9

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

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

Ответ 10

Update

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

Однако я не увенчался успехом, пока он работает...

Ответ 11

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

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

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

Ответ 12

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

http://dbcompare.codeplex.com

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