GRANT Permissões do Principal do Servidor (Transact-SQL)

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Concede permissões em um logon do SQL Server.

Convenções de sintaxe de Transact-SQL

Sintaxe

GRANT permission [ ,...n ] }   
    ON   
    { [ LOGIN :: SQL_Server_login ]  
      | [ SERVER ROLE :: server_role ] }   
    TO <server_principal> [ ,...n ]  
    [ WITH GRANT OPTION ]  
    [ AS SQL_Server_login ]   
  
<server_principal> ::=   
    SQL_Server_login  
    | SQL_Server_login_from_Windows_login   
    | SQL_Server_login_from_certificate   
    | SQL_Server_login_from_AsymKey   
    | server_role  

Argumentos

permission
Especifica uma permissão que pode ser concedida em um logon do SQL Server. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.

LOGIN ::SQL_Server_login
Especifica o logon do SQL Server ao qual a permissão está sendo concedida. O qualificador de escopo ( :: ) é obrigatório.

SERVER ROLE ::server_role
Especifica a função de servidor definida pelo usuário ao qual a permissão está sendo concedida. O qualificador de escopo ( :: ) é obrigatório.

TO <server_principal> Especifica o logon do SQL Server ou a função de servidor ao qual a permissão está sendo concedida.

SQL_Server_login
Especifica o nome de um logon do SQL Server.

SQL_Server_login_from_Windows_login
Especifica o nome de um logon do SQL Server criado a partir de um logon do Windows.

SQL_Server_login_from_certificate
Especifica o nome de um logon do SQL Server mapeado para um certificado.

SQL_Server_login_from_AsymKey
Especifica o nome de um logon do SQL Server mapeado para uma chave assimétrica.

server_role
Especifica o nome de uma função de servidor definida pelo usuário.

COM GRANT OPÇÃO
Indica que o principal também terá a capacidade de conceder a permissão especificada a outros principais.

COMO SQL_Server_login
Especifica o logon do SQL Server do qual o principal que executa esta consulta deriva seu direito de conceder a permissão.

Comentários

As permissões no escopo de servidor podem ser concedidas somente quando o banco de dados atual é mestre.

As informações sobre permissões do servidor são visíveis na exibição do catálogo sys.server_permissions. As informações sobre entidades de segurança do servidor são visíveis na exibição do catálogo sys.server_principals.

Os logons e as funções de servidor do SQL Server são protegíveis no nível do servidor. As permissões mais específicas e limitadas que podem ser concedidas a um logon do SQL Server ou função de servidor são listadas na tabela a seguir, junto com as permissões mais gerais que as contêm implicitamente.

Logon do SQL Server ou função de servidor Sugerido pelo logon do SQL Server ou função de servidor Implícito na permissão de servidor
CONTROL CONTROL SERVIDOR DE CONTROLE
IMPERSONATE CONTROL SERVIDOR DE CONTROLE
VIEW DEFINIÇÃO CONTROL VIEW QUALQUER DEFINIÇÃO
ALTER CONTROL ALTERAR QUALQUER LOGIN

ALTERAR QUALQUER SERVER ROLE

Permissões

Para logins, é necessário CONTROLE de permissão no login ou ALTERAR QUALQUER LOGIN permissão no servidor.

Para funções de servidor, é necessário permissão CONTROL sobre a função de servidor ou ALTERAR QUALQUER SERVER ROLE permissão no servidor.

Exemplos

a. Concedendo a permissão IMPERSONATE em um logon

O exemplo a seguir concede a permissão IMPERSONATE no logon WanidaBenshoof do SQL Server para um logon do SQL Server criado com base no usuário do Windows AdvWorks\YoonM.

USE master;  
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];  
GO  

B. Concedendo VIEW permissão de DEFINIÇÃO com GRANT OPTION

O exemplo a seguir concede VIEW DEFINITION no logon EricKurjan do SQL Server para o logon RMeyyappan do SQL Server com GRANT OPTION.

USE master;  
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan   
    WITH GRANT OPTION;  
GO   

C. Concedendo VIEW permissão DEFINITION em um papel de servidor

O exemplo a seguir concede VIEW DEFINITION na função de servidor Sales à função de servidor Auditors.

USE master;  
GRANT VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;  
GO   

Consulte Também

sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Entidades (Mecanismo de Banco de Dados)
Permissões (Mecanismo de Banco de Dados)
Funções de segurança (Transact-SQL)
Procedimentos armazenados de segurança (Transact-SQL)