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 ルートを表します。メッセージの配信にはルートが必要です。既定では、各データベースには場所を指定するルートが Microsoft SQL Server の現在インスタンスとして格納されています。
参照
関連項目
Microsoft.SqlServer.Management.Smo.Broker