Поделиться через


Переключение между режимами обновления для обновляемой подписки на публикацию транзакций

Область применения: SQL Server

В этом разделе описывается, как переключаться между режимами обновления для обновляемой подписки транзакций в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Режим обновляемых подписок можно указать с помощью мастера создания подписки. Сведения об установке режима с помощью этого мастера см. в статье Просмотр и изменение свойств подписки по запросу.

В этом разделе

Перед началом

Ограничения

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

Рекомендации

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

Использование среды SQL Server Management Studio

Примечание.

Чтобы изменить режим обновления после создания подписки, необходимо установить для свойства update_mode значение failover (что позволяет переключиться с немедленного обновления на обновление посредством очередей) или значение queued failover (что позволяет переключиться с обновления по очереди на немедленное обновление), когда подписка создана. Эти свойства устанавливаются автоматически в мастере создания подписки.

Установка режима обновления для принудительной подписки

  1. Подключитесь к подписчику в среде Microsoft SQL Server Management Studio и раскройте узел сервера.

  2. Раскройте папку Репликация , а затем — папку Локальные подписки .

  3. Щелкните правой кнопкой подписку, для которой хотите установить режим обновления, и щелкните Выбор метода обновления.

  4. В диалоговом окне "Метод обновления set — <подписчик: <SubscriptionDatabase>"> выберите немедленное обновление или обновление в очереди.

  5. Нажмите ОК.

Установка режима обновления для подписки по запросу

  1. В диалоговом окне "Свойства подписки — <издатель>: PublicationDatabase>" <выберите значение немедленной репликации изменений или изменений очереди для параметра метода обновления подписчика.

  2. Нажмите ОК.

Дополнительные сведения о доступе к свойствам подписки — <publisher>: <PublicationDatabase> в диалоговом окне " Просмотр и изменение свойств подписки по запросу".

Использование Transact-SQL

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

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

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

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

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