ネットワーク経由で2台のサーバー間にSQL Service Brokerをセットアップしても問題なく動作しています。私は現時点でエラー処理を実装しています。私は両方のキューに添付されたプロシージャを格納してメッセージを処理しています。MSSQL Service Brokerの送信側エラーメッセージの認識
不正な形式のXMLを送信しようとするなど、メッセージの送信が失敗した場合、メッセージは送信者キューに残ります。送信ステータスは
です。このブローカでは、エラーメッセージが表示されます。サービス ブローカはメッセージを送信しません。 アプリケーションが会話を終了するまで開催されます。
select * from sys.transmission_queue
と(ストアドプロシージャはデバッグのためにオフ)キューを照会する場合
、is_conversation_error
とis_end_of_dialog
フィールドは0
であり、message_type_name
ではなく、通常のエラータイプの送信時に私が使用したものと同じです。
キューにそのようなメッセージを認識する方法はありますか?私の自動送信キューは、現時点では通常のメッセージとして処理しています。
また、契約のメッセージ検証をオフにして、受信側でメッセージを処理する際に、メッセージをxmlにキャストできないときにエラーメッセージテーブルにチャッキングすることができます。 –
実際に面白いですが、私は 'Validation = None'を持っていますが、まだXMLをチェックしているようです。 – milez
奇妙な。契約は双方向(すなわち、創始者と目標)に見えますか? –