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

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

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

22.08.2008 16:26:31
12 ОТВЕТОВ
РЕШЕНИЕ

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

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

16
13.02.2009 16:36:40
также, похоже, работает с 2012, однако он может игнорировать новые функции и параметры, которые потенциально могут быть написаны в сценарии
adolf garlic 20.11.2015 12:16:05

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

5
22.08.2008 16:46:57
Просто попробовал это ... он не генерирует разные скрипты, так что не очень полезен.
Chris Haines 18.01.2011 10:44:30
Регистрация на странице для их anno 2007 инструмента также не работает ...
Oskar Austegard 26.02.2014 19:08:33

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

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

0
22.08.2008 17:08:32

Обновить

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

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

0
23.08.2008 18:46:26

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

12
12.11.2008 17:28:01
Это не похоже на работу на Win7 64bit.
Marc 5.03.2010 20:12:12
Он не работал для меня на Win7 64bit, но мне удалось собрать его из исходного кода (добавлены некоторые недостающие dll из двоичного дистрибутива и System.Data.SQLite.DLL из копии SubSonic). Это заняло у меня 5 минут или около того. Попробуйте - похоже, он дает хорошие результаты (генерирует скрипт синхронизации). Запустили проверенные скрипты, но инструмент выглядит очень многообещающе.
Muxa 24.07.2010 08:50:36
Для информации, теперь это работает с 64-битным. Только что попробовал, очень хороший инструмент. Не так хорошо, как AdeptSQL Diff, но это бесплатно!
Chris Haines 18.01.2011 10:43:45

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

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

6
12.11.2008 17:56:46
Этот аргумент может быть использован для оправдания покупки ВСЕГО, от кресел Aeron до 40-дюймовых экранов для людей, которые стоят за вами и массируют спину. Для малого бизнеса, где еще нет продаж, который должен купить еще много товаров, 400 долларов за SQL Сравнение - это просто пустая трата средств. Сравните это с Typemock Isolator, который стоит 90 долларов «Для индивидуальных разработчиков, работающих дома», Beyond Compare, который стоит 30 долларов, visualSVN стоит 50 долларов - вы понимаете мою точку зрения (все числа округлены). сделали «личную» версию.
Avi 29.06.2009 07:54:51
Он недвусмысленно сказал, что хочет использовать инструмент с открытым исходным кодом или foree-инструмент, и не совсем указал, почему. Может быть, даже небольшие покупки занимают месяцы в его организации. Может быть, он делает это на благотворительность бесплатно. Потому что это так далеко от ответа на его вопрос, что я отказался от тебя.
Sqeaky 2.05.2012 16:41:52

Aloha

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

3
14.08.2010 19:32:53
Бесплатная версия поддерживает только SQL2000.
Lee 14.08.2010 03:32:52
@ Ли, ты уверен, я использовал его на коробках SQL 2005. Не уверен насчет sql2008
edosoft 14.08.2010 19:33:23
Бесплатная версия не будет подключаться к экземпляру SQLEXPRESS по умолчанию для SQL2008. Условно-бесплатная версия предлагает бесплатный пробный период и говорит, что она поддерживает 2005 и 2008. Я перешел на Open DBiff для моего использования. Это не фантазия, но это действительно бесплатно.
Lee 16.08.2010 19:16:28
Условно-бесплатная пробная версия хороша ... бесплатная версия не так хороша, как OpenDbDiff imho.
Chris Haines 18.01.2011 10:48:59

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

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

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

0
3.07.2009 15:00:50

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

4
27.10.2009 17:33:12
Согласились, очень хорошие инструменты.
Chris Haines 18.01.2011 10:44:51

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

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

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

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

1
8.11.2010 00:39:11

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

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

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

1
30.11.2010 10:15:57

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

http://dbcompare.codeplex.com

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

0
27.02.2012 20:54:22