0

私は2つの異なるインスタンスで動作する多くのSSBを実装しています。これらは、非同期トリガーに基づくデータプッシュパターンです。

私のSQL情報は次のとおりです。MicrosoftSQLServerManagement Studio 10.50.2500.0 MicrosoftAnalysisServicesクライアントツール10.50.2500.0MicrosoftData Accessコンポーネント(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.5448オペレーティングシステム6.1.7601

すべての送信キューがタイプhttp://schemas.microsoft.com/SQL/ServiceBroker/EndDialogからのメッセージでいっぱいになっていることに気づきました。

確かにそれはキューのパフォーマンスに影響を与えるでしょう、そして私はこのメッセージを取り除く必要があります。

1-このメッセージを終了するには、送信キューにリーダーを割り当てる必要がありますか?

2-または、会話を終了するときに受信側で何か問題がありますか?

4

1 に答える 1

3

現在設計されているServiceBrokerメッセージは常にダイアログです。つまり、会話には常に2人の参加者がいます。会話の片側が終了すると、END CONVERSATIONが呼び出され、ダイアログ内の他の参加者にEndDialogメッセージタイプが送信されます。これらのメッセージは、スペースを占有していないことを確認する以外の理由がない場合は、処理する必要があります。これらを処理するために、キューにアクティベーションストアドプロシージャを作成できます。そうすれば、それは自動的に起こり、あなたはそれについて心配する必要はありません。

于 2012-04-23T14:24:14.937 に答える