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