3

2 つの異なるインスタンスに 2 つの SSB を実装しました。非同期トリガーによるデータプッシュパターンです。

SQL Server Enterprise 2008 R2を使用しています。バージョン情報は以下にあります

私の SQL バージョンは Microsoft SQL Server Management Studio 10.0.4064.0 Microsoft Analysis Services Client Tools 10.0.4064.0 Microsoft Data Access Components (MDAC) 6.1.7601.17514 Microsoft MSXML 3.0 4.0 5.0 6.0 Microsoft Internet Explorer 9.0.8112.16421 Microsoft .NET Framework 2.0.50727.5446 動作中システム 6.1.7601

  1. 私のキューはRETENTIONがoffに設定されています。

  2. Sender Queue と sys.TransmissionQueueです。

  3. ターゲット キューですが、ターゲット sys.transmissionqueueには送信した5000 件のメッセージが含まれています。

  4. @Target DB に挿入されたテーブルデータロックされています。「nolock選択する5000 件のレコードが表示されます」

  5. プロファイラーショー

@送信者

ブローカー:会話 STARTED_OUTBOUND

ブローカー:会話 CONVERSING

ブローカー:メッセージ分類

Broker:リモートメッセージ確認

ブローカー:会話グループ

@受信者

ブローカー:会話 DISCONNECTED_OUTBOUND

ブローカー:会話グループ

ブローカー:メッセージ分類

Broker:リモートメッセージ確認

Broker:Message Undeliverable このメッセージは時間内にディスパッチできなかったため削除されました。状態: 1

  1. SSBDIAGNOSEエラーを表示しません

問題のトラブルシューティングに Rusanu のブログ エントリを使用しましたが、私の状況は違うと思います。

誰かが助けてくれることを願っています:)

4

1 に答える 1

4

ターゲット処理がメッセージを受信し、EndDialog で応答しているようですが、トランザクションをコミットしていないようです。これは、あなたが説明した症状を説明します(データは挿入されていますがロックされています。ターゲット伝送キューには5kのメッセージが送信されていません)。対象の処理が正しくコミットされ、トランザクションが終了していることを確認できますか?

于 2011-08-23T15:13:16.140 に答える