Переключение между режимами обновления для обновляемой подписки на публикацию транзакций
В этом разделе описывается переключение между режимами обновления для обновляемой подписки транзакций в SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL. Режим обновляемых подписок можно указать с помощью мастера создания подписки. Сведения об установке режима с помощью этого мастера см. в статье Просмотр и изменение свойств подписки по запросу.
Перед началом
Ограничения
- Переход из режима немедленного обновления в режим отложенного обновления может быть произведен в любой момент, однако после этого возврат в режим немедленного обновления будет возможен только тогда, когда появится соединение между подписчиком и издателем, а агент чтения очереди применит к издателю все сообщения, находящиеся в очереди.
Рекомендации
- Если обновляемая подписка на публикацию транзакций поддерживает отработку отказа из одного режима обновления в другой, то возможно программное переключение режимов обновления для выхода из ситуаций, когда возможность подключения изменяется на короткий промежуток времени. Режим обновления может быть установлен как программно, так и по запросу при помощи хранимых процедур репликации. Дополнительные сведения см. в статье Updatable Subscriptions for Transactional Replication.
Использование среды SQL Server Management Studio
Примечание
Чтобы изменить режим обновления после создания подписки, необходимо установить для свойства update_mode значение failover (что позволяет переключиться с немедленного обновления на обновление посредством очередей) или значение queued failover (что позволяет переключиться с обновления по очереди на немедленное обновление), когда подписка создана. Эти свойства устанавливаются автоматически в мастере создания подписки.
Установка режима обновления для принудительной подписки
Подключитесь к подписчику в SQL Server Management Studioи раскройте узел сервера.
Раскройте папку Репликация , а затем — папку Локальные подписки .
Щелкните правой кнопкой подписку, для которой хотите установить режим обновления, и щелкните Выбор метода обновления.
В диалоговом окне Задать метод обновления — <подписчик>: <подпискаБаза данных> выберите Немедленное обновление или Обновление в очереди.
Нажмите кнопку ОК.
Установка режима обновления для подписки по запросу
В диалоговом окне Свойства подписки — <Издатель>: <База данных> публикации выберите значение Немедленно реплицировать изменения или Ставить изменения в очередь для параметра Метод обновления подписчика.
Нажмите кнопку ОК.
Дополнительные сведения о доступе к диалоговому окне Свойства подписки — <Издатель>: <База данных> публикации см. в разделе Просмотр и изменение свойств подписки по запросу.
Использование Transact-SQL
Переключение режимов обновления
Удостоверьтесь в том, что данная подписка поддерживает отработку отказа, выполнив хранимую процедуру sp_helppullsubscription для подписки по запросу или sp_helpsubscription для принудительной подписки. Если значение update mode результирующего набора равен 3 или 4, то отработка отказа поддерживается.
На подписчике в базе данных подписки выполните процедуру sp_setreplfailovermode. Задайте значения параметров @publisher, @publisher_db, @publication, а в качестве параметра @failover_modeукажите одно из следующих значений:
queued — переход в режим обновления посредством очередей при временной потере соединения;
immediate — переход в режим немедленного обновления, при восстановлении.