如何在更新事务订阅的更新模式之间切换(复制 Transact-SQL 编程)

当对事务发布的更新订阅支持从一种更新模式到另一种更新模式的故障转移时,可通过编程方式切换更新模式以应对连接发生短暂变化的情况。 可以使用复制存储过程,以编程方式并根据需要设置更新模式。 有关详细信息,请参阅 事务复制的可更新订阅

注意注意

可以随时从立即更新向排队更新进行故障转移。 但执行该操作后,只有在已连接订阅服务器和发布服务器且队列读取器代理已将队列中的所有挂起消息应用到发布服务器后,才能恢复立即更新。

切换更新模式

  1. 通过对请求订阅执行 sp_helppullsubscription 或对推送订阅执行 sp_helpsubscription,验证订阅是否支持故障转移。 如果结果集中 update mode 的值为 34,则支持故障转移。

  2. 在订阅服务器上,对订阅数据库执行 sp_setreplfailovermode。 指定 @publisher@publisher_db@publication 并为 @failover_mode 指定以下值之一:

    • queued - 在短暂断开连接时将故障转移到排队更新。

    • immediate - 在恢复连接后将故障转移到立即更新。