EndDialog消息卡在TARGET(远程)传输队列中。每个条目的transmission_status都是空白的。
启动器实际上正在接收EndDialog消息并在其旁边结束对话。
我知道这是肯定的,因为我在INITIATOR服务回复队列程序中放置了一个PRINT。日志显示由于INITIATOR收到EndDialog消息而导致执行这些过程。
一切正常,但在目标中,会话端点条目仍处于DO状态,EndDialog消息也保留在TARGET传输队列中。
看起来TARGET没有从INITIATOR收到enddialog消息的确认。
在TARGET上,BROKER:CONVERSATION曲线显示STARTED_INBOUND,CONVERSING,DISCONNECTED_OUTBOUND状态。
遵循配置:
目标:Windows Server 2003 R2 Standard 64版SP2,SQL Server 2008 SP2,标准版64位,兼容模式下的数据库100
INITIATOR:Windows XP SP2,SQL Server 2005 Express SP2,兼容模式下的数据库80.
您对如何解决此问题有任何建议吗?
答案 0 :(得分:0)
尝试ssbdiagnose。如果您的问题与安全配置有关(很可能是),诊断工具很可能会指出它。
答案 1 :(得分:0)
将SQL Server Express从SP2升级到SP4解决了这个问题。 没有更多的enddialog消息卡在目标传输队列上。
发起人正在接收和处理enddialog消息,但由于某种原因 目标公司没有收到“确认”。这一切都令人非常沮丧,因为其他一切工作正常。
在升级之前,我在数据库,计算机和网络上运行了各种测试。 即使在很多桌面评论之后,配置似乎还可以。
我开始怀疑在部署之后升级会解决问题 在没有事件的情况下运行的SQL Server Express SP4的测试计算机上进行配置。
在生产服务器上获得批准只需要很长时间,但现在一切都很顺利。