DENY (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Nega uma permissão a uma entidade de segurança. Impede a entidade de segurança de herdar a permissão através das suas associações de grupo ou de função. DENY tem precedência sobre todas as permissões, exceto que isso DENY não se aplica aos proprietários de objetos ou membros do papel fixo de servidor sysadmin. Observação de segurança Membros da função de servidor fixa sysadmin e proprietários do objeto não podem ter permissões negadas.

Convenções de sintaxe de Transact-SQL

Syntax

Sintaxe para SQL Server, Banco de Dados SQL do Azure e Banco de Dados SQL de Malha

 
-- Simplified syntax for DENY  
DENY   { ALL [ PRIVILEGES ] } 
     | <permission>  [ ( column [ ,...n ] ) ] [ ,...n ]  
    [ ON [ <class> :: ] securable ] 
    TO principal [ ,...n ]   
    [ CASCADE] [ AS principal ]  
[;]

<permission> ::=  
{ see the tables below }  
  
<class> ::=  
{ see the tables below }  

Sintaxe do Azure Synapse Analytics e do Parallel Data Warehouse e do Microsoft Fabric warehouse

DENY   
    <permission> [ ,...n ]  
    [ ON [ <class_> :: ] securable ]   
    TO principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Arguments

ALL
Esta opção não nega todas as permissões possíveis. Negar ALL é equivalente a negar as permissões a seguir.

  • Se o securável for um banco de dados, ALL significa BACKUP, LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTIONCREATE PROCEDURE, CREATE RULE, , CREATE TABLE, , e CREATE VIEW. BACKUPDATABASE

  • Se o protegível for uma função escalar, ALL será equivalente a EXECUTE e REFERENCES.

  • Se o securável for uma função com valores de tabela, ALL significa DELETE, INSERT, REFERÊNCIAS, SELECT e UPDATE.

  • Se o protegível for um procedimento armazenado, ALL será equivalente a EXECUTE.

  • Se o seguro for uma tabela, ALL significa DELETE, INSERT, REFERÊNCIAS, SELECT e UPDATE.

  • Se o seguro for uma visualização, ALL significa DELETE, INSERT, REFERÊNCIAS, SELECT e UPDATE.

Note

A DENY sintaxe ALL está obsoleta. Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Negue as permissões específicas em vez disso.

PRIVILEGES
Incluído para conformidade com ISO. Não altera o comportamento de ALL.

permission
É o nome de uma permissão. Os mapeamentos válidos de permissões para protegíveis são descritos nos subtópicos listados a seguir.

column
Especifica o nome de uma coluna em uma tabela na qual as permissões estão sendo negadas. Os parênteses () são necessários.

class
Especifica a classe do protegível em que a permissão está sendo negada. O qualificador de escopo :: é obrigatório.

securable
Especifica o protegível no qual a permissão está sendo negada.

TO diretor
É o nome de uma entidade. Os principais para os quais as permissões em um protegível podem ser negadas variam, dependendo do protegível. Consulte os tópicos específicos sobre protegíveis listados a seguir para obter as combinações válidas.

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. Exigido quando o principal tem permissão com GRANT a OPTION.

Diretor AS
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 instrução de negação foi 15 (Raul), embora a instrução tenha sido realmente executada pelo usuário 13 (Maria).

O uso de AS nessa instrução não implica a capacidade de representar outro usuário.

Remarks

A sintaxe completa da DENY instrução é complexa. O diagrama de sintaxe acima foi simplificado para chamar atenção para sua estrutura. A sintaxe completa para negar permissões em protegíveis específicos é descrita nos tópicos listados a seguir.

DENY falhará se o CASCADE não for especificado ao negar uma permissão a um principal que recebeu essa permissão com GRANT OPTION especificado.

O procedimento armazenado do sistema sp_helprotect relata as permissões em um protegível no nível de banco de dados.

No Microsoft Fabric, CREATE USER atualmente não pode ser executado explicitamente. Quando GRANT ou DENY for executado, o usuário será criado automaticamente.

Caution

Um nível DENY de tabela não tem precedência sobre um nível GRANTde coluna . Essa inconsistência na hierarquia de permissões foi preservada para manter a compatibilidade com versões anteriores. Ela será removida em uma versão futura.

Caution

Negar a permissão CONTROL em um banco de dados implicitamente nega a permissão CONNECT no banco de dados. Um principal ao qual é negada a permissão CONTROL em um banco de dados não poderá se conectar a esse banco de dados.

Caution

Negar a permissão CONTROL SERVER implicitamente nega a permissão CONNECT SQL no servidor. Um principal ao qual é negada a permissão CONTROL SERVER em um servidor não poderá se conectar a esse servidor.

Permissions

O chamador (ou o principal especificado com a opção AS) deve ter a permissão CONTROL no protegível ou uma permissão superior que indica a permissão CONTROL no protegível. Se usar a cláusula AS, o principal especificado deverá ser proprietário do protegível no qual uma permissão está sendo negada.

Os usuários autorizados da permissão CONTROL SERVER, como os membros da função de servidor fixa sysadmin, podem negar qualquer permissão em qualquer protegível do servidor. Os usuários autorizados da permissão CONTROL no banco de dados, como os membros da função de banco de dados fixa db_owner, podem negar qualquer permissão em qualquer protegível no banco de dados. Os usuários autorizados da permissão CONTROL em um esquema podem negar qualquer permissão no esquema. Se a cláusula AS for usada, o principal especificado deverá ser proprietário do protegível no qual as permissões estão sendo negadas.

Examples

A tabela a seguir lista os protegíveis e os tópicos que descrevem a sintaxe específica a protegíveis.

Securables Syntax
Função de aplicativo DENY Permissões Principais do Banco de Dados (Transact-SQL)
Assembly DENY Permissões de Assembleia (Transact-SQL)
Chave assimétrica DENY Permissões de Chave Assimétricas (Transact-SQL)
Grupo de Disponibilidade DENY Permissões de Grupos de Disponibilidade (Transact-SQL)
Certificate DENY Permissões de Certificado (Transact-SQL)
Contract DENY Permissões do Service Broker (Transact-SQL)
Database DENY Permissões de banco de dados (Transact-SQL)
Credencial no escopo do banco de dados DENY Credencial com Escopo de Banco de Dados (Transact-SQL)
Endpoint DENY Permissões de ponto de extremidade (Transact-SQL)
Catálogo Full-Text DENY Full-Text Permissões (Transact-SQL)
Full-Text Lista de Paradas DENY Full-Text Permissões (Transact-SQL)
Function DENY Permissões de objeto (Transact-SQL)
Login DENY Permissões de entidade de segurança do servidor (Transact-SQL)
Tipo de Mensagem DENY Permissões do Service Broker (Transact-SQL)
Object DENY Permissões de objeto (Transact-SQL)
Queue DENY Permissões de objeto (Transact-SQL)
Associação de serviço remoto DENY Permissões do Service Broker (Transact-SQL)
Role DENY Permissões Principais do Banco de Dados (Transact-SQL)
Route DENY Permissões do Service Broker (Transact-SQL)
Schema DENY Permissões de Esquema (Transact-SQL)
Lista de propriedades de pesquisa DENY Buscar permissões na lista de propriedades (Transact-SQL)
Server DENY Permissões de servidor (Transact-SQL)
Service DENY Permissões do Service Broker (Transact-SQL)
Procedimento armazenado DENY Permissões de objeto (Transact-SQL)
Chave Simétrica DENY Permissões de Chave Simétrica (Transact-SQL)
Synonym DENY Permissões de objeto (Transact-SQL)
Objetos do sistema DENY Permissões de objeto do sistema (Transact-SQL)
Table DENY Permissões de objeto (Transact-SQL)
Tipo DENY Permissões de Tipo (Transact-SQL)
User DENY Permissões Principais do Banco de Dados (Transact-SQL)
View DENY Permissões de objeto (Transact-SQL)
Coleção de esquema XML DENY Permissões de Coleta de Esquemas XML (Transact-SQL)

Consulte Também

REVOKE (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)