0

EndDialog 消息卡在 TARGET(远程)传输队列中。每个条目的传输状态为空白。

Initiator 实际上正在接收 EndDialog 消息并在它的一侧结束对话。

我肯定知道这一点,因为我已经在 INITIATOR 服务回复队列过程中放置​​了一个 PRINT。日志显示,由于 INITIATOR 接收到 EndDialog 消息,这些过程正在执行。

一切正常,除了在 TARGET 中,对话端点条目保持在 DO 状态,并且 EndDialog 消息也保持在 TARGET 传输队列中。

看起来 TARGET 没有从 INITIATOR 收到 enddialog 消息的 ACK。

在 TARGET 上,BROKER:CONVERSATION 跟踪显示 STARTED_INBOUND、CONVERSING、DISCONNECTED_OUTBOUND 状态。

按照配置:

目标:Windows Server 2003 R2 Standard 64 edition SP2,SQL Server 2008 SP2,Standard Edition 64-bit,数据库兼容模式 100

启动器:Windows XP SP2、SQL Server 2005 express SP2、数据库兼容模式 80。

你对如何解决这个问题有什么建议吗?

4

2 回答 2

0

将 SQL Server Express 从 SP2 升级到 SP4 解决了这个问题。不再有 enddialog 消息卡在目标传输队列上。

Initiator 正在接收和处理 enddialog 消息,但由于某种原因,Target 没有收到“ack”。这一切都非常令人沮丧,因为其他一切都运行良好。

在升级之前,我对数据库、计算机和网络进行了各种测试。即使经过多次案头审查,配置似乎也不错。

在我使用 SQL Server Express SP4 的测试机器上部署了相同的配置后,我开始怀疑升级会解决问题,该机器运行时没有发生任何事故。

在生产服务器上升级需​​要很长时间才能获得批准,但现在一切都很好。

于 2011-04-27T23:14:50.957 回答
0

试试ssbdiagnose 如果您的问题与安全配置有关(很可能是),诊断工具很有可能会指出它。

于 2011-02-02T17:34:35.987 回答