Compartilhar via


Como configurar permissões para um serviço local (Transact-SQL)

O SQL Server impõe permissão SEND para cada serviço e permissões RECEIVE para cada fila. A entidade de segurança que possui o serviço iniciante deve ter a permissão SEND no serviço de destino. A entidade de segurança de um aplicativo deverá ter permissão RECEIVE para cada fila da qual o aplicativo recebe mensagens.

Esse procedimento é uma forma simplificada de criar uma configuração de segurança remota. Em ambos os casos, você concederá permissão SEND no serviço de destino e permissão RECEIVE na fila do serviço que envia as mensagens. Para uma configuração de segurança remota, porém, você deve configurar também a segurança do Agente de Serviços para identificar corretamente o usuário remoto. Para uma configuração dentro de um único banco de dados, você precisa apenas conceder permissões.

Concedendo permissões para um serviço local

  1. Conceda permissão para que o usuário receba da fila que o aplicativo usa.

  2. Conceda permissão para que o usuário que possui o serviço iniciante envie mensagens aos serviços com os quais o aplicativo se comunica.

Exemplo

Este exemplo configura permissões para que BrokerApplicationUser envie mensagens de um serviço que usa a fila StoreFrontQueue para o serviço Ordem. Este procedimento supõe que o usuário, os serviços e a fila já existam.

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