Клиент SQL Server - синхронизация базы данных сервера со схемой

У меня есть C#.net приложение, которое использует онлайн-сервер БД и даже локальный сервер.

Если пользователь больше не подключен к Интернету, он может использовать автономный сервер на своем локальном компьютере. но перед использованием автономного сервера он должен синхронизировать сетевой сервер с автономным.

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

Время занимает много времени и дополнительные накладные расходы.

Каков наилучший подход для синхронизации даже схемы и данных. Могу ли я пойти на репликацию?

В моем случае мне нужно только онлайн онлайн для автономной синхронизации. наоборот не требуется.

1 ответ

Репликация не будет работать, так как вы должны указать схему заранее. Вы можете попробовать что-то вроде сравнения Redgate, но это не бесплатно:

http://www.red-gate.com/products/sql-development/sql-compare/

Или вы можете попробовать что-то вроде FluentMigrator, библиотеки миграции базы данных для.net:

https://github.com/schambers/fluentmigrator

Другой альтернативой будет Open DBDiff:

http://opendbiff.codeplex.com/

Опять же, еще один бесплатный:

http://www.xsql.com/

Последний имеет утилиту командной строки для автоматического сравнения и синхронизации данных.

Другие вопросы по тегам