Нужно ли отключать доступ к базе данных издателя при настройке репликации транзакций SQL Server 2000?
У меня есть производственная база данных, то есть там, где происходят постоянные обновления, и я настроил ее для публикации на другом сервере с помощью репликации транзакций.
Когда я настраивал репликацию транзакций, я делал следующее:
- отключить доступ к исходной базе данных
- резервная копия исходной БД, затем восстановление на сервере подписки
- настроить репликацию
- повторно включить доступ к БД для наших приложений
Проблема этого подхода заключается в планировании времени простоя, необходимости приостановить все запланированные по расписанию задачи, которые мы запускаем, и закрытии доступа к нашим различным приложениям, зависящим от этой базы данных.
Могу ли я просто настроить репликацию транзакций, не отключая доступ к базе данных публикации, и база данных подписчиков будет корректно догонять? т.е. все ли операторы DML поставлены в очередь на издателе, и как только подписчик будет готов, они будут выбраны и выполнены?
1 ответ
Ответ прост: нет... Вам не нужно отключать доступ к системе и т. Д. Вот почему и как это работает... При настройке репликации издатель создает моментальный снимок данных в тот самый момент, когда вы создаете издание. Существует также средство чтения журнала, которое работает одновременно с репликацией транзакций, которая перехватывает КАЖДУЮ транзакцию с момента создания последнего снимка. Итак... когда подписчик создан, это в основном двухэтапный процесс:
Шаг 1. Снимок применяется к подписчику, который создает схему и данные в базе данных SUbscriber.
Шаг 2: Затем применяются транзакции с момента моментального снимка, чтобы подписчик получал базу данных подписчика в соответствии с последними данными.
Так что, по сути, нет, вам не нужно делать все то другое, что вы делаете, чтобы создать нового подписчика.
Позвольте мне знать, если вам нужно что-нибудь еще.
Спасибо!
-VM