我们正在探索在两个不同 SQL Server 实例之间进行通信的不同方法。所需的工作流程之一是向“远程”端发送某种消息,请求删除记录。当该系统完成删除时,它保持其事务打开并向发起者发送响应,然后发起者删除其相应的记录,提交其事务,然后将消息发送回“远程”端,告诉它,最后,也提交删除。
这是一个穷人对两阶段提交的近似。关于 SQL Server Service Broker 是否能够合理干净地处理这种类型的场景,该部门正在进行一场宗教辩论。任何人都可以阐明它是否可以吗?有类似工作流程的经验吗?考虑到 SQL Server 实例位于单独的非域计算机上,是否有更好的机制来实现这一点?
编辑:澄清一下,我们不能使用分布式事务,因为网络安全性既严密又有些随意。我们不允许进行使这成为可能的配置。