Как переключаться между режимами обновления для обновляемой подписки на публикацию транзакций (программирование репликации на языке Transact-SQL)

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

ПримечаниеПримечание

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

Переключение режимов обновления

  1. Удостоверьтесь в том, что данная подписка поддерживает переход из одного режима в другой, выполнив хранимую процедуру sp_helppullsubscription для подписки по запросу или sp_helpsubscription для принудительной подписки. Если значение update mode результирующего набора равен 3 или 4, то переход поддерживается.

  2. На подписчике в базе данных подписки выполните процедуру sp_setreplfailovermode. Задайте значения параметров @publisher, @publisher_db, @publication, а в качестве параметра @failover_mode укажите одно из следующих значений:

    • queued — переход в режим обновления посредством очередей при временной потере соединения;

    • immediate — переход в режим немедленного обновления, при восстановлении.