2010-10-12 3 views
5

Я пытаюсь получить содержимое одной базы данных MSSQL ко второй базе данных MSSQL. Нет необходимости в управлении конфликтами, без обновления схемы. Это просто обычная копия и замена данных. Данные базы данных назначения будут перезаписаны, если кто-то там что-то изменил.Репликация/клонирование данных с одного MS SQL Server на другой

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

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

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

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

Спасибо!

Stefan

+2

Это текущее обновление для вас или одноразовый процесс? Если это продолжается, как часто вам нужно обновлять - в реальном времени, ежечасно, ежедневно, еженедельно, ежемесячно? – JNK

ответ

4

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

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

+0

Эй, Брент, как получилось, у меня больше репутации, но у тебя больше значков;) Это несправедливо! –

+0

Знаете ли вы, какие выпуски журнала поддержки SQL Server поддерживаются? Раньше это была только версия Enterprise, и я думал, что слышал, что она теперь доступна для всех выпусков, но я не могу найти никаких ссылок для ее поддержки. –

+0

«Поддержка» для доставки журналов - это груз hooey. Вы можете сделать это с помощью T-SQL-скриптов в любой редакции, поэтому Microsoft поумнела и сделала его поддерживаемой функцией Standard тоже. –

1

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

  • писать сценарии T-SQL для ВСТАВИТЬ ... SELECT данные непосредственно
  • Создать полную резервную копию базы данных и восстановить его на новый сервер

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

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

+0

Мы используем ночные полные/дифференциальные восстановления для многих наших «отчетных» сценариев, подобных этому. – BradC

Смежные вопросы