Share via


Service Broker の管理

SMO では、Service Broker オブジェクトは Microsoft.SqlServer.Management.Smo.Broker 名前空間にあり、この名前空間は Microsoft.SqlServer.Smo.dll への参照を必要とします。クラス情報のサポートには、Microsoft.SqlServer.ServiceBrokerEnum.dll への参照も必要です。

SMO によって、Service Broker 実装のプログラムによる管理 (DDL) を許可する Service Broker オブジェクトのセットが提供されます。これには、メッセージ型、コントラクト、キュー、およびサービスの定義が含まれます。SMO はデータ操作を目的としていない管理ツールであるため、Service Broker メッセージの送受信は SMO ではサポートされていません。

SMO では、ServiceBroker オブジェクトが最上位レベルのクラスであり、この下に Service Broker のすべての機能が配置されます。分散メッセージ アプリケーションに参加している各データベースに対して、Service Broker 実装が必要です。したがって、ServiceBroker オブジェクトは、Database オブジェクトの子となります。

ServiceBroker オブジェクトには、Service Broker 実装を定義するために使用される、次のオブジェクトのコレクションが含まれています。

  • MessageType オブジェクトは、メッセージの内容を定義するメッセージ型を表します。

  • MessageTypeMapping オブジェクトは、指定されたメッセージ交換でのメッセージの方向と型を指定するコントラクトを表します。

  • ServiceQueue オブジェクトは、送信前および受信後にメッセージを格納します。その他の利点に加え、同じメッセージ交換グループ内のメッセージの自動ロックなど、サービス間での非同期通信がこれらのオブジェクトによって提供されます。

  • BrokerService オブジェクトは、アドレス指定が可能な通信のエンドポイントとなる Service Broker サービスを表します。Service Broker メッセージは、あるサービスから別のサービスに送信されます。サービスによってメッセージを保持するキューが指定され、このサービスの対象とするコントラクトを指定します。

  • RemoteServiceBinding オブジェクトは、Service Broker がリモート サービスとの通信時にセキュリティおよび認証に使用する設定を表します。

  • ServiceRoute オブジェクトは、サービスおよびサービスが定義されているデータベースの位置情報を格納した Service Broker ルートを表します。メッセージの配信にはルートが必要です。既定では、各データベースに SQL Server の現在のインスタンスとして場所を示すルートが含まれます。