質問

私も掲載していますのでこの問題を自分のブログ: http://www.sqldiablo.com/2012/04/15/service-broker-alwayson-availability-groups-odd-transmission-queue-behavior/.

できないかなぁ、とおもってプロジェクトは、過去数ヶ月を活用したサービス-ブローカー及びAlwaysOn性グループはポジ目の会社に勤めてい(詳細情報: http://www.sqldiablo.com/service-broker-replication/).最近になっていを行うことができるの解決に自分の研究室ポイントのインスタンス当社のウェブサイトです。なたも折れにくく当社のデータベースやwebサイトでは、労働市場と人的にも自分のサービス業者複製プロジェクトに始まり気づか奇妙な行動サービス業者の場合でも使用AlwaysOn可団体は、たいと思ったのブログでうまでも誰がこの問題についてアイデアにどのように対応すべきます。

の設定:

いHyper-Vホスト走6Windows Server2008R2VMs(BTDevSQLVM1-BTDevSQLVM6).のVMs類の2つのノードWSFCsとノードおよびファイル共有の定数.を設置しましたstandaloneはSQL2012年に開発版のインスタンスのそれぞれのVmを作成し、可用性グループのリスナーの各クラスター(SBReplDistrib,SBRepl1,&SBRepl2).

このブログ記事で、私に焦点を当てて行く予定ですの信SBRepl1とSBReplDistrib.以下の図は受注から納品までのサービスブオブジェクトの各側面の対談:

(私は新しいことはできな画像なのでご自由にお使いくださいブログのURLのイメージ)

本サービスの拠点とルート設定お このMSDNの記事.のSBRepl_ReceiveルートMSDBは、サーバがサービス//SBReplDistrib/SBReplにSBReplDistrib、//SBRepl1/SBReplにSBRepl1)、ポイントのインスタンス.のSBRepl_SendトSBRepl1地図サービス//SBReplDistrib/SBReplるTCP://SBReplDistrib:4022、SBRepl_Send_SBRepl1トSBReplDistribは同様のマッピングのためのサービスSBRepl1.

の挙動:

私の理解にどのようサービスの仲介取り扱うメッセージの送受信はここか簡単に行えます。あり、詳しくはこのプロセスクラウスAschenbrennerの"Pro SQL Server2008年のサービス業者"):

  1. の起動側のアプリを作成し、メッセージ(この場合、整形式のXML)
  2. がある場合は、既存のダイアログで会話のイニシエーターサービスの対象になるサービスの会話が、このアプリで送信のメッセージ、既存の会話ます。そうしないと、起動側のアプリを始めるべきだダイアログで会話のイニシエータサービス対象のサービスおよびメッセージを発信する会話。
  3. メッセージはsys.transmission_queueシステムテーブルおよびサービスの仲介に始まりとしてとらえることが不お届け対象のメッセージにサービスです。
  4. サービス拠見のための適切なルートやリモートサービスの結合として使用するアドレスへの接続をお届けするためにメッセージ。
  5. サービス業者の開設に接続対象の認証が行き渡対象のメッセージにサービスいすぎ。
  6. 対象のサービス業者を分類しようという試みですのメッセージをローカルサービスの取扱い、メッセージを使うルートデータのmsdbデータベース。
  7. 対象のサービスブローカーを対象のメッセージにサービスのキュー
  8. 一度にメッセージが正常に送対象のキューでは、対象サービス拠うえでルート情報の重みを受信確認のメッセージをいただきました。
  9. 起動側のサービスの仲介を受け、認識および利用における経路情報MSDBかなりの地域でのサービスを通知するものとします。
  10. に成功した際のルーティングの確認を開始サービスのメッセージから除去されsys.transmission_queueシステム。
  11. た場合の開始剤を受けていませんので、確認のメッセージを受けて、定期的にリトライに届けるメッセージの目標です。場合に対象者が受領済みのメッセージ、ボードを追加送再送信感謝します。

の挙動:

ステップ11ある私を見ても不思議な動きとサービス-ブローカー及びAlwaysOn.私のメッセージ取得後加工に成功し、または承認取得に送り返すイニシエータ受信を行います。しかし、メッセージはsys.transmission_queueとしても承認をいただきました。もいくらなければならないのに、サービスの仲介なし再送信メッセージのように期待していることの表れであれば通知った。その代わりに、メッセージだけではsys.transmission_queue、新しいメッセージが送られて取得し、認定するためには、もはsys.transmission_queue.そしんでいただけるようになサービスを仲介する記およびそのため停止してお届けしのメッセージとはありませんからはsys.transmission_queueある。のtransmission_statusこれらのメッセージは空白で、表示するサービスの仲介なたいよう加工してお届けしています。

を確認しましたが保存設定のサービスのキューでは、offに設定する必要がにのみ影響を与えるサービスのキューはsys.transmission_queue.またレーの両側に会話をSQLプロファイラは、私を見ることができ、メッセージ取得に送の受信確認に送還され、起動側と受信(XMLトレースデータのトにしました。

異なった飛び出すこれまでに出会った子どもたちの痕跡ものです。であることに気が付き両側も少し戸惑のTCP接続でメッセージから送信されたIPアドレスのノード自体がサービスのルートのメッセージは自分の名/IPのAGスです。この混乱れがそれぞれの側の既存の接続のサービスを一人づつ、新しいメッセージを届けるためには受信確認.くなった場合には正常までを何での謝辞な取扱いをされていくものだけ見える可能性のある説明、行動です。

の助けてあげたいのです:

この時、私にはこのメッセージ保存の問題以外に手動での会話の清掃活動には双方は、本当に何とかして欲しいところ。場合はそのアイデアはどこかで起こったところだと思っていつのまにかく私のコメントを、ぜひ意見を聞かせてほしい。があった場合は追加の情報をいいを自分の設定はこの問題に関し、ぜひ<url>までご連絡ください、コメントしています。今後、フォローアップを募する場合には/私はソリューションを見つけます。

のトレースデータ:

ご自由にお使いくださいブログのURLの冒頭では?

役に立ちましたか?

解決

過去数か月にわたって、私はMicrosoftの製品サポートチームと協力しており、この問題に関連してSQL Server 2012の2つのバグを認めています。 SQL Server 2012の次のサービスパックの一部として、これらのバグのパッチをリリースします。

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top