DENY (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

Nega uma permissão a uma entidade de segurança. Impede que essa entidade herde a permissão por meio de suas associações de grupo ou 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. Nota sobre segurança Os membros da função de servidor fixa sysadmin e os proprietários de objetos não podem ter permissões negadas."

Transact-SQL convenções de sintaxe

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 para o Azure Synapse Analytics e o Parallel Data Warehouse e o 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 TUDO equivale a negar as seguintes permissões.

  • Se o seguro for uma base de dados, ALL significa BACKUP, LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTIONCREATE PROCEDURE, CREATE RULE, , CREATE TABLE, , e CREATE VIEW. BACKUPDATABASE

  • Se o securable é uma função escalar, ALL significa EXECUTAR e REFERÊNCIAS.

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

  • Se o protegível for um procedimento armazenado, ALL significa EXECUTAR.

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

  • Se o securável for uma vista, 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 novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Em vez disso, negue permissões específicas.

PRIVILEGES
Incluído para conformidade ISO. Não altera o comportamento da 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 abaixo.

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

class
Especifica a classe do protegível na qual 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 de segurança. Os princípios aos quais as permissões em um protegível podem ser negadas variam, dependendo do protegível. Consulte os tópicos específicos de proteção listados abaixo para obter combinações válidas.

CASCADE
Indica que a permissão é negada à entidade de segurança especificada e a todas as outras entidades às quais a entidade concedeu a permissão. É obrigatório quando o diretor tem permissão com GRANT a OPTION.

Diretor AS
Especifica a entidade de segurança da qual a entidade que executa esta consulta deriva seu direito de negar a permissão. Use a cláusula principal AS para indicar que o principal registrado como o negador da permissão deve ser um comitente diferente da pessoa que executa a declaração. Por exemplo, suponha que o usuário Mary é principal_id 12 e o usuário Raul é o principal 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 (Maria).

O uso de AS nesta declaração não implica a capacidade de se passar por outro usuário.

Remarks

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

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

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

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

Caution

Uma DENY de nível de tabela não tem precedência sobre uma GRANTde nível de coluna. Essa inconsistência na hierarquia de permissões foi preservada por uma questão de compatibilidade com versões anteriores. Ele será removido em uma versão futura.

Caution

Negar a permissão CONTROL em um banco de dados nega implicitamente a permissão CONNECT no banco de dados. Uma entidade de segurança à 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 nega implicitamente a permissão CONNECT SQL no servidor. Uma entidade de segurança à 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 permissão CONTROL no protegível ou uma permissão superior que implique permissão CONTROL no protegível. Se estiver usando a opção AS, a entidade de segurança especificada deverá possuir o protegível no qual uma permissão está sendo negada.

Os beneficiários da permissão CONTROL SERVER, como membros da função de servidor fixa sysadmin, podem negar qualquer permissão em qualquer protegível no servidor. Os beneficiários da permissão CONTROL no banco de dados, como 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 beneficiários da permissão CONTROL em um esquema podem negar qualquer permissão em qualquer objeto no esquema. Se a cláusula AS for usada, a entidade de segurança especificada deverá possuir o 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 do protegível.

Securables Syntax
Função de Aplicação DENY Permissões Principais da Base de Dados (Transact-SQL)
Assembly DENY Permissões de Assembly (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 Certificados (Transact-SQL)
Contract DENY Permissões do Corretor de Serviços (Transact-SQL)
Database DENY Permissões de Base de Dados (Transact-SQL)
Credencial com escopo de banco de dados DENY Credencial de Âmbito de Base de Dados (Transact-SQL)
Endpoint DENY Permissões de Endpoint (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 do Principal do Servidor (Transact-SQL)
Tipo de mensagem DENY Permissões do Corretor de Serviços (Transact-SQL)
Object DENY Permissões de Objeto (Transact-SQL)
Queue DENY Permissões de Objeto (Transact-SQL)
Vinculação de serviço remoto DENY Permissões do Corretor de Serviços (Transact-SQL)
Role DENY Permissões Principais da Base de Dados (Transact-SQL)
Route DENY Permissões do Corretor de Serviços (Transact-SQL)
Schema DENY Permissões de Esquema (Transact-SQL)
Pesquisar Lista de Propriedades DENY Permissões de Pesquisa na Lista de Propriedades (Transact-SQL)
Server DENY Permissões de Servidor (Transact-SQL)
Service DENY Permissões do Corretor de Serviços (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 do 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 da Base de Dados (Transact-SQL)
View DENY Permissões de Objeto (Transact-SQL)
Coleção de esquema XML DENY Permissões de Recolha de Esquemas XML (Transact-SQL)

Ver 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)