Повторная инициализация подписок

Область применения: SQL Server Управляемый экземпляр SQL Azure

Повторная инициализация подписки включает применение нового снимка одной или нескольких статей к одному или нескольким подписчикам. Транзакционная и снимковая репликация позволяют переинициализировать отдельные статьи. Репликация слияния требует переинициализации всех статей. Нельзя переинициализировать узлы в одноранговой топологии транзакционной репликации. Чтобы убедиться, что у узла есть новая копия данных, восстановить резервную копию на узле. Повторная инициализация выполняется по одной из двух причин.

  • Вы явно помечаете подписку для повторной инициализации.

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

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

Для репликации слиянием можно выбрать, чтобы все изменения данных были отправлены с узла-подписчика до применения моментального снимка. Все ожидающие применения изменения схемы у издателя применяются на подписчике, а затем все обновления, выполненные на подписчике с момента последней синхронизации, передаются издателю до повторного применения снимка. Это поведение управляется свойствами upload_first и automatic_reinitialization_policy . Дополнительные сведения см. в разделе Reinitialize a Subscription. Если пометить подписку для повторной инициализации с помощью среды SQL Server Management Studio или монитора репликации, в диалоговом окне Повторная инициализация подписок можно будет указать, что необходимо сначала передать изменения.

Внимание

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

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

Повторная инициализация подписки

Чтобы повторно инициализировать все статьи в подписке, используйте SQL Server Management Studio, хранимые процедуры или объекты управления репликацией (RMO). Чтобы повторно инициализировать отдельные статьи в публикациях моментальных снимков и транзакционных публикациях, необходимо использовать хранимые процедуры. Дополнительные сведения см. в статье Reinitialize a Subscription.