Permissões de principal do servidor GRANT (Transact-SQL)
Concede permissões em um logon do SQL Server.
Sintaxe
GRANT permission [ ,...n ] }
ON LOGIN :: SQL_Server_login
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
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 no qual a permissão está sendo concedida. O qualificador de escopo (::) é necessário.TO <server_principal>
Especifica o logon do SQL Server 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.WITH GRANT OPTION
Indica que a entidade também terá a capacidade de conceder a permissão especificada a outras entidades.AS SQL_Server_login
Especifica o logon do SQL Server do qual a entidade 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 de servidor são visíveis na exibição do catálogo sys.server_permissions. As informações sobre entidades de servidor são visíveis na exibição do catálogo sys.server_principals.
Um logon do SQL Server é um protegível em nível de servidor. As permissões mais específicas e limitadas que podem ser concedidas em um logon do SQL Server são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
Permissão de logon do SQL Server |
Implícita na permissão de logon do SQL Server |
Implícita na permissão de servidor |
---|---|---|
CONTROL |
CONTROL |
CONTROL SERVER |
IMPERSONATE |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
ALTER |
CONTROL |
ALTER ANY LOGIN |
Permissões
Requer a permissão CONTROL no logon ou a permissão ALTER ANY LOGIN 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 a um logon do SQL Server criado a partir do 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 ao logon RMeyyappan do SQL Server com GRANT OPTION.
USE master;
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
WITH GRANT OPTION;
GO