Нужно ли отключать доступ к базе данных издателя при настройке репликации транзакций SQL Server 2000?

У меня есть производственная база данных, то есть там, где происходят постоянные обновления, и я настроил ее для публикации на другом сервере с помощью репликации транзакций.

Когда я настраивал репликацию транзакций, я делал следующее:

  • отключить доступ к исходной базе данных
  • резервная копия исходной БД, затем восстановление на сервере подписки
  • настроить репликацию
  • повторно включить доступ к БД для наших приложений

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

Могу ли я просто настроить репликацию транзакций, не отключая доступ к базе данных публикации, и база данных подписчиков будет корректно догонять? т.е. все ли операторы DML поставлены в очередь на издателе, и как только подписчик будет готов, они будут выбраны и выполнены?

1 ответ

Решение

Ответ прост: нет... Вам не нужно отключать доступ к системе и т. Д. Вот почему и как это работает... При настройке репликации издатель создает моментальный снимок данных в тот самый момент, когда вы создаете издание. Существует также средство чтения журнала, которое работает одновременно с репликацией транзакций, которая перехватывает КАЖДУЮ транзакцию с момента создания последнего снимка. Итак... когда подписчик создан, это в основном двухэтапный процесс:

Шаг 1. Снимок применяется к подписчику, который создает схему и данные в базе данных SUbscriber.

Шаг 2: Затем применяются транзакции с момента моментального снимка, чтобы подписчик получал базу данных подписчика в соответствии с последними данными.

Так что, по сути, нет, вам не нужно делать все то другое, что вы делаете, чтобы создать нового подписчика.

Позвольте мне знать, если вам нужно что-нибудь еще.

Спасибо!

-VM

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