ローカル サービスの権限を構成する方法 (Transact-SQL)
SQL Server は、各サービスに対する SEND 権限と、各キューに対する RECEIVE 権限を適用します。発信側サービスを所有するセキュリティ プリンシパルには、対象サービスに対する SEND 権限が必要です。アプリケーションのセキュリティ プリンシパルには、アプリケーションがメッセージを受信する各キューに対する RECEIVE 権限が必要です。
この手順は、簡素化された、リモート セキュリティ構成の作成手順です。どちらの場合も、転送先サービスに対する SEND 権限、およびメッセージを送信するサービスのキューに対する RECEIVE 権限が付与されます。ただし、リモート セキュリティ構成では、リモート ユーザーを正しく識別するために Service Broker セキュリティも構成する必要があります。単一のデータベースで構成する場合は、権限を与えるだけでかまいません。
ローカル サービスに対する権限付与
アプリケーションが使用するキューから受信する権限をユーザーに与えます。
発信側サービスを所有するユーザーには、アプリケーションの通信相手であるサービスにメッセージを送信するための権限を与えます。
使用例
次の例では、キュー StoreFrontQueue を使用するサービスから Ordering サービスに BrokerApplicationUser がメッセージを送信するための権限を構成しています。この手順では、関係するユーザー、サービス、およびキューが既に存在していることを前提としています。
USE AdventureWorks2008R2 ;
GO
-- This example sets permissions for a service
-- program that sends messages to the Ordering service
-- and receives messages from the StoreFrontQueue queue.
-- Grant SEND permission on the service to the owner
-- of the initiating service.
GRANT SEND ON SERVICE::[Ordering]
TO [BrokerApplicationUser] ;
GO
-- Grant RECEIVE permission on the queue.
GRANT RECEIVE ON [StoreFrontQueue]
TO [BrokerApplicationUser] ;
GO