我已经在两台服务器之间的SQL Server中正确configuration了事务复制。 我有一个configuration了本地分发的发布者和一个具有可更新订阅的单个事务发布。 第二个sserver订阅发布,并configuration为同时将更改提交给发布者。
当订户机器停机时,可以在发布者处进行修改而不出错。 当用户重新联机时,按预期方式从发布者传播到订阅者。
但是,当发布者closures时,尝试对订阅者进行更改将不会提交。 当我尝试在发布服务器closures或MSDTC服务停止时进行提交时,出现错误,指定发布服务器上的MSDTC不可用。 当我试图在发布者的SQL Server数据库引擎停止时进行提交时,出现一个错误,指出login服务器上的SQL Serverlogin失败。
这是预期的行为? 也就是说,我的configuration是否阻止订阅服务器在发布者离线时提交事务?
任何帮助将不胜感激。 谢谢!
从可更新的订阅如何工作 :
对于在订阅服务器上进行的每个更改,MSDTCpipe理发布服务器和提交更改的订阅服务器之间的两阶段提交操作。
所以很明显,订阅者和发布者必须在线才能在使用立即更新时对订阅者进行任何更改。 在这里也非常明确地被称为:
- 立即更新。 发布者和订阅者必须连接到更新订阅者的数据。
如果您希望订阅服务器在发布服务器处于脱机状态时可用于更新,则需要查看“ 排队”更新 。