2011-01-29 3 views
0

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.

この問題を解決する方法についてアドバイスをお持ちですか?

+0

あなたは、イニシエーターでの会話をCLEANUPで終了していませんか? –

+0

@Pawel:いいえ、私はそれをしていません。それはよく閉鎖されたループです。私が言ったように興味深いのは、Target enddialogメッセージがInitiatorに到達して処理されますが、Targetは会話とその側の送信キューのエントリを取り除かないということです。私はRemusのリンクhttp://rusanu.com/2005/12/20/troubleshooting-dialogs/に従っていますが、他の多くのものがありますが、これまでの運はありません。メッセージはターゲット側に積み重なっていくだけです。 – Klinger

+0

私は参照してください。私の場合は、両方のサーバー(ブローカカテゴリ+監査ブローカの会話と監査ブローカのログインのすべて)からプロファイライベントを収集します。歴史的に、これらのプロファイラトレースの詳細な分析により、問題のトラブルシューティングを行うことができました。 –

答えて

0

SQL Server ExpressをSP2からSP4にアップグレードすることでこの問題が解決されました。 ターゲット送信キューに終端メッセージが残らなくなりました。

イニシエータがエンドダイヤルメッセージを受信して​​処理していましたが、何らかの理由で ターゲットが「ack」を受信して​​いませんでした。他のすべてがうまくいっているので、それは非常に怒っていた。

アップグレードする前に、私はデータベース、コンピュータ、ネットワーク上であらゆる種類のテストを実行しました。 多くのデスクレビューの後でも設定が正しいと思われました。

同じ 構成を、インシデントなしで実行されたSQL Server Express SP4を搭載したテストマシンに展開した後、アップグレードによって問題が解決されると思われました。

プロダクションサーバでのアップグレードには、承認に時間がかかりましたが、今はすべてうまくいきます。

0

ssbdiagnoseを試してください。あなたの問題が(おそらくそうである)セキュリティ設定に関連している場合、診断ツールがそれを指摘する大きなチャンスがあります。

関連する問題