Service Broker オブジェクトの名前付け

このトピックでは、Service Broker オブジェクトの名前付けに関する考慮事項について説明します。パブリック インターフェイス オブジェクト、ネットワークとセキュリティ構成オブジェクト、およびキューでは、名前付けの規則がやや異なります。

パブリック インターフェイス オブジェクト

Service Broker アプリケーションのパブリック インターフェイスは、コントラクト、サービス、およびメッセージ型で形成されます。メッセージにはこれらのオブジェクトの名前が含まれるので、これらのオブジェクトの名前付け規則は URI (Universal Resource Identifier) の名前付け規則に従います。この規則に従うことで、オブジェクトに一意名を付けるのに役立ちます。

サービス名にこの名前付け規則を使用して、ルート内のネットワーク アドレスを指定することもできます。この場合、トランスポート ルートでサービスの名前を使用できます。ルーティングの詳細については、「Service Broker のルーティング」を参照してください。

Service Broker では、メッセージの送受信時に、これらのオブジェクトの名前に対するバイナリ照合が使用されます。したがって、複数のバイナリ表現を持つ文字を使用してパブリック インターフェイス オブジェクトに名前が付けられている場合には特別な注意が必要です。

ネットワークとセキュリティ構成オブジェクト

メッセージには、ルートとリモート サービス バインドの名前は含まれません。便宜上、これらの名前にはオブジェクトが構成するサービスの名前を使用できます。

これらのオブジェクトを一時オブジェクトにはできません。したがって、これらのオブジェクトの名前では番号記号 (#) は意味がないと見なされます。# で始まる名前を持つオブジェクトは、一時オブジェクトではなくパーマネント オブジェクトになります。

キュー

キュー名は、テーブル名を使用できるステートメントの多くで使用できます。したがって、キュー名は、1 つの例外を除き、標準の SQL Server の識別子の規則に従います。キューは一時オブジェクトにはできないので、キューの名前は番号記号 (#) で始めることはできません。キューはスキーマが所有するオブジェクトであるため、キュー名にはスキーマ名やデータベース名を含めることができます。