SQL Server Service Broker では、SQL Server データベース エンジンのメッセージング アプリケーションとキュー アプリケーションのネイティブ サポートが提供されます。 これにより、開発者は、データベース エンジン コンポーネントを使用して異なるデータベース間で通信する高度なアプリケーションを簡単に作成できます。 開発者は Service Broker を使用して、分散型の信頼性の高いアプリケーションを簡単に構築できます。
Service Broker を使用するアプリケーション開発者は、複雑な通信とメッセージングの内部をプログラミングすることなく、複数のデータベースにデータ ワークロードを分散できます。 これにより、Service Broker が会話のコンテキストで通信パスを処理するため、開発とテストの作業が削減されます。 また、パフォーマンスも向上します。 たとえば、Web サイトをサポートするフロントエンド データベースでは、情報を記録し、バックエンド データベース内のキューにプロセス集中型タスクを送信できます。 Service Broker では、信頼性と技術的な一貫性を確保するために、すべてのタスクがトランザクションのコンテキストで管理されます。
Service Broker のドキュメントはどこにありますか?
Service Broker のリファレンス ドキュメントは、SQL Server 2014 のドキュメントに含まれています。 このリファレンス ドキュメントには、次のセクションが含まれています。
CREATE、ALTER、DROP ステートメントのデータ定義言語 (DDL) ステートメント (Transact-SQL)
Service Broker の概念と開発および管理タスクについては、 以前に公開されたドキュメント を参照してください。 このドキュメントは、SQL Server 2014 での Service Broker の変更の数が少ないため、SQL Server 2014 ドキュメントでは再現されていません。
Service Broker の新機能
SQL Server 2014 では、重要な変更は導入されません。 SQL Server 2012 では、次の変更が導入されました。
複数のターゲット サービスにメッセージを送信できます (マルチキャスト)
SEND (Transact-SQL) ステートメントの構文は、複数の会話ハンドルをサポートすることでマルチキャストを有効にするように拡張されました。
キューでメッセージのエンキュー時間が公開される
キューには、メッセージ がキューに入っている時間を示す新しい列 (message_enqueue_time) があります。
有害メッセージ処理を無効にできます
CREATE QUEUE (Transact-SQL) ステートメントと ALTER QUEUE (Transact-SQL) ステートメントで、句POISON_MESSAGE_HANDLING (STATUS = ON | OFF)
を追加して有害メッセージ処理を有効または無効にできるようになりました。 カタログ ビュー sys.service_queues に、有害メッセージが有効か無効かを示す列 is_poison_message_handling_enabled が追加されました。
Service Broker での AlwaysOn サポート
詳細については、「Service Broker with AlwaysOn アベイラビリティ グループ (SQL Server)」を参照してください。