共用方式為


如何:設定本機服務的權限 (Transact-SQL)

SQL Server 會強制設定每個服務的 SEND 權限以及每個佇列的 RECEIVE 權限。擁有起始服務的安全性主體必須具有目的地服務的 SEND 權限。應用程式的安全性主體必須具有每個佇列的 RECEIVE 權限,以供該應用程式從每個佇列接收訊息。

此程序是建立遠端安全性組態之程序的簡單形式。在任一情況下,您都必須為傳送訊息的服務授與目的地服務的 SEND 權限以及佇列的 RECEIVE 權限。不過,對於遠端安全性組態,您還必須設定 Service Broker 安全性以正確識別遠端使用者。對於單一資料庫內的組態,您只需授與權限。

為本機服務授與權限

  1. 授與使用者從應用程式所使用之佇列進行接收的權限。

  2. 為擁有起始服務的使用者授與將訊息傳送至應用程式與其通訊之服務的權限。

範例

此範例設定允許 BrokerApplicationUser 將訊息從使用佇列 StoreFrontQueue 的服務傳送至服務 Ordering 的權限。此程序假設使用者、服務和佇列已存在。

USE AdventureWorks ;
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