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


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

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

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

Ограничения

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

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

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

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

Примечание

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

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

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

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

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

  4. В диалоговом окне Задать метод обновления — <подписчик>: <подпискаБаза данных> выберите Немедленное обновление или Обновление в очереди.

  5. Нажмите кнопку ОК.

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

  1. В диалоговом окне Свойства подписки — <Издатель>: <База данных> публикации выберите значение Немедленно реплицировать изменения или Ставить изменения в очередь для параметра Метод обновления подписчика.

  2. Нажмите кнопку ОК.

Дополнительные сведения о доступе к диалоговому окне Свойства подписки — <Издатель>: <База данных> публикации см. в разделе Просмотр и изменение свойств подписки по запросу.

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

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

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

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

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

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

См. также:

Updatable Subscriptions for Transactional Replication