Permissões de entidade de segurança do servidor GRANT (Transact-SQL)
Aplica-se a: SQL Server Instâ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.
WITH GRANT OPTION
Indica que o principal também terá a capacidade de conceder a permissão especificada a outros principais.
AS 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 | CONTROL SERVER |
IMPERSONATE | CONTROL | CONTROL SERVER |
VIEW DEFINITION | CONTROL | VIEW ANY DEFINITION |
ALTER | CONTROL | ALTER ANY LOGIN ALTER ANY SERVER ROLE |
Permissões
Para logons, requer a permissão CONTROL no logon ou a permissão ALTER ANY LOGIN no servidor.
Para funções de servidor, requer a permissão CONTROL na função de servidor ou a permissão ALTER ANY SERVER ROLE 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 a permissão VIEW DEFINITION 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 a permissão VIEW DEFINITION em uma função 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)