Service Broker の管理
適用対象: SQL Server Azure SQL Managed Instance
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 の現在のインスタンスとして場所を指定するルートが含まれています。
参照
Microsoft.SqlServer.Management.Smo.Broker
SQL Server Service Broker (SQL Server Service Broker)