Conceder permissões em um procedimento armazenado

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Este artigo descreve como conceder permissões em um procedimento armazenado no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. As permissões podem ser concedidas a um usuário existente, a uma função de banco de dados ou a uma função de aplicativo no banco de dados.

Limitações e restrições

  • Não é possível usar o SQL Server Management Studio para conceder permissões nos procedimentos do sistema ou funções do sistema. Em vez disso, use Permissões do objeto GRANT .

Permissões

O concessor (ou a entidade de segurança especificada com a opção AS) deve ter a própria permissão com GRANT OPTION ou uma permissão superior que tenha a permissão que está sendo concedida implícita. Requer permissão ALTER no esquema ao qual o procedimento pertence ou permissão CONTROL no procedimento. Para obter mais informações, confira Permissões de objeto GRANT (Transact-SQL).

Usar o SQL Server Management Studio

Para conceder permissões em um procedimento armazenado

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados e expanda-a.

  2. Expanda Bancos de Dados, expanda o banco de dados ao qual pertence o procedimento e expanda Programação.

  3. Expanda Procedimentos Armazenados, clique com o botão direito do mouse no procedimento para o qual deseja conceder permissões e selecione Propriedades.

  4. De Propriedades do Procedimento Armazenado, selecione a página Permissões .

  5. Para conceder permissões a um usuário, a uma função de banco de dados ou a uma função de aplicativo, selecione Pesquisar.

  6. Em Selecionar Usuários ou Funções, clique em Tipos de Objeto para adicionar ou desmarcar os usuários ou funções que deseja.

  7. Selecione Procurar para exibir a lista de usuários ou funções. Selecione os usuários ou funções aos quais as permissões devem ser concedidas.

  8. Na grade Permissões Explícitas , selecione as permissões para concedê-las ao usuário especificado ou função. Para obter uma descrição das permissões, confira Permissões (Mecanismo de Banco de Dados).

Ao selecionar Conceder , uma permissão específica será dada ao beneficiado. Ao selecionar Conceder Com o beneficiado também poderá conceder a permissão específica a outros principais.

Usar o Transact-SQL

Para conceder permissões em um procedimento armazenado

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Este exemplo concede a permissão EXECUTE no procedimento armazenado HumanResources.uspUpdateEmployeeHireInfo para uma função de aplicativo chamada Recruiting11.

USE AdventureWorks2022;   
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    TO Recruiting11;  
GO  

Para conceder permissões em todos os procedimentos armazenados em um esquema

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Este exemplo concede a permissão EXECUTE a todos os procedimentos armazenados que existem ou existirão no esquema HumanResources para uma função de aplicativo chamada Recruiting11.

USE AdventureWorks2022;   
GRANT EXECUTE ON SCHEMA::HumanResources
    TO Recruiting11;  
GO  

Próximas etapas