Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
Nega permissões concedidas em um logon do SQL Server.
Convenções de sintaxe de Transact-SQL
Sintaxe
DENY permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
TO <server_principal> [ ,...n ]
[ CASCADE ]
[ 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 negada 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 negada. O qualificador de escopo ( :: ) é obrigatório.
SERVER ROLE
::server_role
Especifica a função de servidor na qual a permissão está sendo negada. O qualificador de escopo ( :: ) é obrigatório.
PARA <server_principal>
Especifica o logon do SQL Server ou função de servidor ao qual a permissão está sendo concedida.
PARA SQL_Server_login
Especifica o logon do SQL Server ao qual a permissão está sendo negada.
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 da função de servidor.
CASCADE
Indica que a permissão que está sendo negada também é negada a outros principais aos quais ela foi concedida por esse principal.
COMO SQL_Server_login
Especifica o logon do SQL Server do qual o principal que executa esta consulta deriva seu direito de negar a permissão.
Comentários
As permissões no escopo de servidor podem ser negadas somente quando o banco de dados atual é mestre.
As informações sobre permissões de servidor estão visíveis na exibição do catálogo sys.server_permissions. As informações sobre principais de servidor estão disponíveis na exibição do catálogo sys.server_principals.
A DENY declaração falha se o CASCADE não for especificado quando você está negando uma permissão a um principal que recebeu essa permissão com GRANT OPTION.
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 negadas em 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. Negando a permissão IMPERSONATE em um logon
O exemplo a seguir nega a permissão IMPERSONATE no logon WanidaBenshoof do SQL Server para um logon do SQL Server criado a partir do usuário do Windows AdvWorks\YoonM.
USE master;
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];
GO
B. Negando VIEW permissão de DEFINIÇÃO com CASCADE
O exemplo a seguir nega a permissão VIEW DEFINITION no logon EricKurjan do SQL Server para o logon RMeyyappan do SQL Server. A opção CASCADE indica que a permissão VIEW DEFINITION em EricKurjan também será negada a principais aos quais RMeyyappan concedeu essa permissão.
USE master;
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
CASCADE;
GO
C. Negando VIEW permissão de DEFINIÇÃO em um papel de servidor
O exemplo a seguir nega o VIEW DEFINITION na função de servidor Sales à função de servidor Auditors.
USE master;
DENY VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
Consulte Também
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT Permissões de logon no nível do servidor (Transact-SQL)
REVOKE Permissões de logon no nível do servidor (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)