Альтернативы Red Gate SQL Сравнение SDK? - PullRequest
4 голосов
/ 18 июня 2010

Я использую API сравнения Red Gate SQL в проекте, который становится длинным. Мы используем часть его способностей, и я оцениваю другие варианты.

Наш сценарий в основном такой:

  • У нас есть две базы данных SQL Server 2008, которые могут иметь одинаковые схемы.
  • Базы данных крошечные. Большинство таблиц имеют менее 10K строк; у некоторых менее 100.
  • DB1 можно считать «основным». Мы вносим изменения только в DB1 напрямую, и эти изменения распространяются на DB2.
    • Небольшой набор из пяти таблиц, измененный в DB1, должен быть немедленно реплицирован в DB2.
    • Иногда вся база данных & mdash; менее набор таблиц исключений (например, журналы) & mdash; должен быть реплицирован сразу, снова из DB1 в DB2. Это запускается из веб-формы.

На данный момент все это обрабатывается в коде с использованием SDK Red Gate для грязной работы.

Как еще я могу пойти по этому поводу? Я открыт для решений на чистом SQL Server (репликация?), Если вы считаете, что это правильный выбор, хотя решение на чистом C # потребовало бы немного меньшего взаимодействия с моим ИТ-отделом, если вы поймете мой дрейф.

Ответы [ 3 ]

2 голосов
/ 01 марта 2011

Я знаю, что немного опоздал на вечеринку, но я только что выпустил исходный код для Atlantis.SchemaEngine - который выполняет часть схемы БД, и рассматривал вопрос о выпуске Atlantis.DataEngine (никаких призов задогадываясь, что это делает).Это то, что может представлять интерес?SchemaEngine здесь .

2 голосов
/ 18 июня 2010

Единственный другой программный продукт, о котором я знаю, был бы Aiffed Diff API - Apex SQL Diff - аналогичный продукт, и они также публикуют API, чтобы программно делать эти вещи в вашем собственном приложении.

Я никогда не использовал его сам, но я использовал (и действительно наслаждался) другой инструмент ApexSQL - настоятельно рекомендуется.

1 голос
/ 14 февраля 2011

Вы можете попробовать использовать FluentMigrator .Это библиотека миграции базы данных для .NET.Вы можете использовать его для определения своей схемы в C # и затем отправить изменения в обе базы данных.

...