Сведения о вопросе

Martincow

20:12, 6th August, 2020

Теги

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

Просмотров: 467   Ответов: 12

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

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



  Сведения об ответе

crush

21:06, 1st October, 2020

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

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


  Сведения об ответе

ASER

12:29, 7th August, 2020

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


  Сведения об ответе

9090

23:38, 28th August, 2020

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

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


  Сведения об ответе

qwerty101

21:50, 8th August, 2020

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


  Сведения об ответе

dump

05:12, 15th August, 2020

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


  Сведения об ответе

PIRLO

04:01, 23rd August, 2020

Алоха

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


  Сведения об ответе

park

03:03, 20th August, 2020

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

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

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

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


  Сведения об ответе

pumpa

05:49, 29th August, 2020

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

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

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


  Сведения об ответе

piter

14:55, 27th August, 2020

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

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

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


  Сведения об ответе

park

05:49, 5th August, 2020

Обновление

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

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


  Сведения об ответе

DO__IT

00:37, 27th August, 2020

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

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


  Сведения об ответе

ASSembler

22:21, 22nd August, 2020

Это немного поздно, но я только что переснял очень простой проект на code plex:

http://dbcompare.codeplex.com

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться