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
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Nega permissões em um servidor.
Convenções de sintaxe de Transact-SQL
Sintaxe
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Argumentos
permission
Especifica uma permissão que pode ser negada em um servidor. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.
CASCADE
Indica que a permissão está sendo negada para o principal especificado e todos os outros principais aos quais o principal concedeu a permissão. Necessário quando o principal tem a permissão com GRANT OPTION.
PARA <server_principal>
Especifica o principal ao qual a permissão é negada.
COMO <grantor_principal>
Especifica o principal do qual o principal que executa esta consulta deriva seu direito de negar a permissão.
Use a cláusula de entidade de segurança AS para indicar que a entidade de segurança registrada como o negador da permissão deve ser uma entidade de segurança diferente da pessoa que executa a instrução. Por exemplo, suponha que o usuário Maria seja a principal_id 12 e o usuário Ricardo seja a entidade de segurança 15. Maria executa DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Agora a tabela sys.database_permissions indicará que o grantor_principal_id da declaração de negação foi 15 (Raul), embora a declaração tenha sido realmente executada pelo usuário 13 (Mary).
O uso de AS nessa instrução não implica a capacidade de representar outro usuário.
SQL_Server_login
Especifica um logon do SQL Server.
SQL_Server_login_mapped_to_Windows_login
Especifica um logon do SQL Server mapeado para um logon do Windows.
SQL_Server_login_mapped_to_Windows_group
Especifica um logon do SQL Server mapeado para um grupo do Windows.
SQL_Server_login_mapped_to_certificate
Especifica um logon do SQL Server mapeado para um certificado do Windows.
SQL_Server_login_mapped_to_asymmetric_key
Especifica um logon do SQL Server mapeado para uma chave assimétrica.
server_role
Especifica uma função de servidor.
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 do servidor podem ser vistas na exibição do catálogo sys.server_permissions e as informações sobre entidades de segurança do servidor podem ser vistas na exibição do catálogo sys.server_principals. As informações sobre a associação de funções de servidor podem ser vistas na exibição do catálogo sys.server_role_members.
Um servidor é o nível mais alto da hierarquia de permissões. As permissões mais específicas e limitadas que podem ser negadas em um servidor são listadas na tabela a seguir.
| Permissões de servidor | Implícito na permissão de servidor |
|---|---|
| ADMINISTRAR OPERAÇÕES EM MASSA | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| Alterar Qualquer Conexão | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER CREDENCIAL | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER BANCO DE DADOS | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER PONTO DE EXTREMIDADE | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER SESSÃO DE EVENTO | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER SERVIDOR VINCULADO | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER LOGIN | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER AUDITORIA DO SERVIDOR | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER FUNÇÃO DE SERVIDOR Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| ALTERAR RECURSOS | SERVIDOR DE CONTROLE |
| ALTERAR ESTADO DO SERVIDOR | SERVIDOR DE CONTROLE |
| ALTERAR CONFIGURAÇÕES | SERVIDOR DE CONTROLE |
| ALTER TRACE | SERVIDOR DE CONTROLE |
| AUTENTICAR SERVIDOR | SERVIDOR DE CONTROLE |
| CONECTAR QUALQUER BANCO DE DADOS Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| CONECTAR SQL | SERVIDOR DE CONTROLE |
| SERVIDOR DE CONTROLE | SERVIDOR DE CONTROLE |
| CRIAR QUALQUER BANCO DE DADOS | ALTERAR QUALQUER BANCO DE DADOS |
| Criar grupo de disponibilidade Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual). |
ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE |
| CRIAR NOTIFICAÇÃO DE EVENTO DDL | ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO |
| CRIAR PONTO DE EXTREMIDADE | ALTERAR QUALQUER PONTO DE EXTREMIDADE |
| CRIAR FUNÇÃO DE SERVIDOR Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual). |
ALTERAR QUALQUER FUNÇÃO DE SERVIDOR |
| CRIAR NOTIFICAÇÃO DE EVENTO DE RASTREAMENTO | ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO |
| MONTAGEM DE ACESSO EXTERNO | SERVIDOR DE CONTROLE |
| REPRESENTAR QUALQUER LOGON Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| SELECIONAR TODOS OS ITENS DE SEGURANÇA DO USUÁRIO Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| SHUTDOWN | SERVIDOR DE CONTROLE |
| MONTAGEM NÃO SEGURA | SERVIDOR DE CONTROLE |
| VISUALIZAR QUALQUER BANCO DE DADOS | VISUALIZAR QUALQUER DEFINIÇÃO |
| VISUALIZAR QUALQUER DEFINIÇÃO | SERVIDOR DE CONTROLE |
| Visualizar Estado do Servidor | ALTERAR ESTADO DO SERVIDOR |
As três permissões de servidor a seguir foram adicionadas ao SQL Server 2014 (12.x).
Permissão CONNECT ANY DATABASE
Conceda CONNECT ANY DATABASE a um logon que deve se conectar a todos os bancos de dados que existem atualmente e a quaisquer novos bancos de dados que possam ser criados no futuro. Não concede nenhuma permissão em qualquer banco de dados além da conexão. Combine com SELECT ALL USER SECURABLES ou VIEW SERVER STATE para permitir que um processo de auditoria exiba todos os dados ou todos os estados do banco de dados na instância de SQL Server.
Permissão IMPERSONATE ANY LOGIN
Quando concedida, permite que um processo de camada intermediária represente a conta de clientes que se conecta a ela, uma vez que ela se conecta aos bancos de dados. Quando negada, um logon com altos privilégios pode ser impedido de representar outros logons. Por exemplo, um logon com a permissão CONTROL SERVER pode ser impedido de representar outros logons.
Permissão SELECT ALL USER SECURABLES
Quando concedida, um logon, como um auditor, pode exibir dados em todos os bancos de dados aos quais o usuário pode se conectar. Quando negada, impede o acesso a objetos, a menos que eles estejam no esquema sys.
Permissões
Requer a permissão CONTROL SERVER ou a propriedade do protegível. Se você usar a cláusula AS, a entidade especificada deverá ser proprietária do protegível no qual as permissões estão sendo negadas.
Exemplos
a. Negando a permissão CONNECT SQL a um logon do SQL Server e a entidades de segurança aos quais o logon a concedeu novamente
O exemplo a seguir nega a permissão CONNECT SQL para o logon de Annika no SQL Server e para os principais aos quais ela concedeu a permissão.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. Negando a permissão CREATE ENDPOINT a um logon do SQL Server usando a opção AS
O exemplo a seguir nega a permissão CREATE ENDPOINT ao usuário ArifS. O exemplo usa a opção AS para especificar MandarP como a entidade de segurança da qual a entidade de segurança em execução deriva a autoridade para tanto.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Consulte Também
SUBVENÇÃO (Transact-SQL)
NEGAR (Transact-SQL)
Permissões de servidor DENY (Transact-SQL)
Permissões REVOKE de servidor (Transact-SQL)
Hierarquia de permissões (Mecanismo de Banco de Dados)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)