Репликация / клонирование данных с одного MS SQL Server на другой - PullRequest
6 голосов
/ 12 октября 2010

Я пытаюсь получить содержимое одной базы данных MSSQL во вторую базу данных MSSQL. Управление конфликтами не требуется, обновление схемы не требуется. Это просто копия и замена данных. Данные базы данных назначения будут перезаписаны, если бы кто-то что-то там изменил.

Очевидно, есть много способов сделать это

  • Репликация SQL Server: Хорошо установлено, но с использованием старых протоколов. Кроме того, многие разработчики постоянно говорят мне, что дьявол кроется в деталях, и репликация может не всегда работать должным образом, и это лучший выбор для администратора, но не для разработчика.
  • MS Sync Framework: MSF называется крутой новой технологией. Да, именно этот новый материал вы любите получать, потому что он звучит так инновационно. Существует общий подход к синхронизации, который звучит так: Изучите одну технологию и узнайте, как интегрировать источник данных, вам никогда не придется заново учиться разрабатывать синхронизацию. Но, с другой стороны, вы можете прочитать, что основной сценарий использования, по-видимому, заключается в синхронизации баз данных MSSQL Compact с MSSQL.
  • Службы интеграции SQL Server: Это звучит как аварийно-планируемое решение. Если брандмауэр не работает, у нас есть пакет, который можно запускать снова и снова ... до тех пор, пока брандмауэр не отключится или аутентификация не будет исправлена.
  • Копирование и замена файлов базы данных методом грубой силы : Вероятно, не лучший выбор.

Конечно, просматривая веб-сайты Microsoft, я читал, что каждая технология (кроме, конечно, грубой силы) считается надежным решением, которое может применяться во многих сценариях. Но это, конечно, не то, что я хотел услышать.

Так что вы думаете об этом? Какую технологию вы бы предложили.

Спасибо!

Stefan

Ответы [ 2 ]

4 голосов
/ 18 октября 2010

Самый простой механизм - доставка журналов. Основной сервер может создавать резервные копии журналов по любому пути UNC, а затем вы можете использовать любые инструменты синхронизации файлов для управления передачей журналов с одного сервера на другой. Подписчик просто автоматически восстанавливает любые резервные копии журнала транзакций, которые он находит в своей локальной папке. Это автоматически обрабатывает не только данные, но и изменения схемы.

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

1 голос
/ 12 октября 2010

Я бы добавил два метода в ваш список.

  • Запись сценариев T-SQL в INSERT ... ВЫБОР данных напрямую
  • Создание полной резервной копии базы данных ивосстановить его на новом сервере

Если это большая база данных, и вы не собираетесь делать это слишком часто, то я бы выбрал вариант резервного копирования и восстановления.Он выполняет большую часть работы за вас и гарантирует копирование всех объектов.

Я не слышал, чтобы кто-либо использовал Sync Framework, поэтому мне было бы интересно узнать, успешно ли кто-нибудь использовал его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...