问题是Service Broker: Designing the communication between two SQL servers的延续(使之前合理地缩短)。
上述问题的答案建议使用更简单的场景,即通过 forever 打开对话框发送定期生成的数据。负责在卫星SQL服务器上形成数据并将其发送到中央SQL服务器的触发器可能会使用固定的唯一标识符。
无论如何,必须首先开始对话。说,会话句柄是固定的。如何在会话未打开时检测出情况?
如果可以检测到对话尚未开始,我可以将这两种方法结合起来。具有空字符串消息值的特殊请求可以发送到中央,并且中央将仅发回该特殊请求的回复。然后,卫星激活程序将丢失的数据立即发送到中央。
简单地说,当卫星机器上收集到大量数据时,我必须解决初始情况。卫星激活程序可以以块的形式发送数据,使双方都有机会做其他事情,而不是移动数据。一旦来自中央的回复消息到达没有其他任何内容发送的情况,则激活的过程可以为触发器设置一些持久标志以开始以独立方式发送单个记录。这是合理的吗?
答案 0 :(得分:0)
请参阅Remus Rusanu对答案的评论。
(我的回答只是为了完成这个问题。)