Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base 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 DENY não se aplica a proprietários de objetos ou membros da função de servidor fixa 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 protegível for um banco de dados, ALL significa BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE e CREATE VIEW.
Se o securable é uma função escalar, ALL significa EXECUTAR e REFERÊNCIAS.
Se o protegível for uma função com valor de tabela, ALL significa DELETE, INSERT, REFERENCES, SELECT e UPDATE.
Se o protegível for um procedimento armazenado, ALL significa EXECUTAR.
Se o protegível for uma tabela, ALL significa DELETE, INSERT, REFERENCES, SELECT e UPDATE.
Se o protegível for uma exibição, ALL significa DELETE, INSERT, REFERENCES, SELECT e UPDATE.
Note
A sintaxe DENY ALL foi preterida. 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 principal tem a permissão com GRANT 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 CASCADE não for especificado ao negar uma permissão a uma entidade de segurança que recebeu essa permissão com GRANT OPTION especificado.
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 é executado, o usuário será criado automaticamente.
Caution
Um DENY de nível de tabela não tem precedência sobre um GRANT de 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.
Ver também
REVOGAR (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)