EndDialogメッセージがTARGET(リモート)送信キューに滞留しています。 transmission_statusは、各エントリでは空白です。EndDialog DISCONNECTED_OUTBOUND状態の会話エンドポイントを持つTARGET送信キューにメッセージがありません
Initiatorは、実際にEndDialogメッセージを受信し、その側でダイアログを終了しています。
INITIATORサービスの返信キュープロシージャにPRINTを設定しているので、確かにわかります。ログは、INITIATORがEndDialogメッセージを受信した結果、それらのプロシージャが実行されていることを示しています。
TARGETでは会話のエンドポイントエントリはDO状態のままで、EndDialogメッセージもTARGET送信キューに残ります。
TARGETがエンドダイヤルメッセージのINITIATORからACKを取得していないようです。
TARGETでは、BROKER:CONVERSATIONトレースにSTARTED_INBOUND、CONVERSING、DISCONNECTED_OUTBOUNDの各状態が表示されます。
フォロー構成:
TARGET:のWindows Server 2003 R2の標準64版のSP2、SQL Server 2008のSP2、Standard Editionの64ビット互換モードでのデータベース100
INITIATOR:のWindows XP SP2、SQL Serverの2005 SP2、データベースを互換モードで表現する80.
この問題を解決する方法についてアドバイスをお持ちですか?
あなたは、イニシエーターでの会話をCLEANUPで終了していませんか? –
@Pawel:いいえ、私はそれをしていません。それはよく閉鎖されたループです。私が言ったように興味深いのは、Target enddialogメッセージがInitiatorに到達して処理されますが、Targetは会話とその側の送信キューのエントリを取り除かないということです。私はRemusのリンクhttp://rusanu.com/2005/12/20/troubleshooting-dialogs/に従っていますが、他の多くのものがありますが、これまでの運はありません。メッセージはターゲット側に積み重なっていくだけです。 – Klinger
私は参照してください。私の場合は、両方のサーバー(ブローカカテゴリ+監査ブローカの会話と監査ブローカのログインのすべて)からプロファイライベントを収集します。歴史的に、これらのプロファイラトレースの詳細な分析により、問題のトラブルシューティングを行うことができました。 –