Partilhar via


Permissões de banco de dados 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 permissões em um banco de dados no SQL Server.

Transact-SQL convenções de sintaxe

Syntax

DENY <permission> [ ,...n ]
    TO <database_principal> [ ,...n ] [ CASCADE ]
    [ AS <database_principal> ]

<permission> ::=
    permission | ALL [ PRIVILEGES ]

<database_principal> ::=
    Database_user
  | Database_role
  | Application_role
  | Database_user_mapped_to_Windows_User
  | Database_user_mapped_to_Windows_Group
  | Database_user_mapped_to_certificate
  | Database_user_mapped_to_asymmetric_key
  | Database_user_with_no_login

Arguments

permissão Especifica uma permissão que pode ser negada em um banco de dados. Para obter uma lista das permissões, consulte a seção Comentários mais adiante neste tópico.

ALL Esta opção não nega todas as permissões possíveis. Negar TUDO equivale a negar as seguintes permissões: BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE e CREATE VIEW.

PRIVILÉGIOS Incluídos para conformidade ISO. Não altera o comportamento da ALL.

CASCADE Indica que a permissão também será negada aos principais aos quais o principal especificado a concedeu.

AS <database_principal> Especifica uma entidade da qual a entidade que executa esta consulta deriva seu direito de negar a permissão.

Database_user Especifica um usuário de banco de dados.

Database_role Especifica uma função de banco de dados.

Application_roleAplica-se a: SQL Server 2008 (10.0.x) e posterior, Banco de dados SQL.

Especifica uma função de aplicativo.

Database_user_mapped_to_Windows_User Especifica um usuário de banco de dados mapeado para um usuário do Windows.

Database_user_mapped_to_Windows_Group Especifica um usuário de banco de dados mapeado para um grupo do Windows.

Database_user_mapped_to_certificate Especifica um usuário de banco de dados mapeado para um certificado.

Database_user_mapped_to_asymmetric_key Especifica um usuário de banco de dados mapeado para uma chave assimétrica.

Database_user_with_no_login Especifica um usuário de banco de dados sem entidade de segurança correspondente no nível do servidor.

Remarks

Um banco de dados é um protegível contido pelo servidor que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser negadas em um banco de dados estão listadas na tabela a seguir, juntamente com as permissões mais gerais que as incluem por implicação.

Permissão de base de dados Implícito pela permissão do banco de dados Implícito pela permissão do servidor
ADMINISTRAR OPERAÇÕES EM MASSA NA BASE DE DADOS
Aplica-se a: Banco de dados SQL.
CONTROL SERVIDOR DE CONTROLO
ALTER CONTROL ALTERAR QUALQUER BASE DE DADOS
ALTERAR QUALQUER FUNÇÃO DE APLICATIVO ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER MONTAGEM ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER CHAVE ASSIMÉTRICA ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER CERTIFICADO ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER CHAVE DE ENCRIPTAÇÃO DE COLUNA ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER DEFINIÇÃO DE CHAVE MESTRA DE COLUNA ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER CONTRATO ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER AUDITORIA DE BASE DE DADOS ALTER ALTERAR QUALQUER AUDITORIA DE SERVIDOR
ALTERAR QUALQUER GATILHO DDL DE BANCO DE DADOS ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO DO BANCO DE DADOS ALTER ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO
ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS
Aplica-se a: Banco de Dados SQL do Azure.
ALTER ALTERAR QUALQUER SESSÃO DE EVENTO
ALTERAR QUALQUER CONFIGURAÇÃO DE ÁREA DE BANCO DE DADOS
Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de dados SQL.
CONTROL SERVIDOR DE CONTROLO
ALTERAR QUALQUER ESPAÇO DE DADOS ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER FONTE DE DADOS EXTERNA ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER FORMATO DE ARQUIVO EXTERNO ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER BIBLIOTECA EXTERNA
Aplica-se a: SQL Server 2017 (14.x).
CONTROL SERVIDOR DE CONTROLO
ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO ALTER SERVIDOR DE CONTROLO
ALTERE QUALQUER MÁSCARA CONTROL SERVIDOR DE CONTROLO
ALTERAR QUALQUER TIPO DE MENSAGEM ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER LIGAÇÃO DE SERVIÇO REMOTO ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER FUNÇÃO ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER ROTA ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER POLÍTICA DE SEGURANÇA
Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de Dados SQL do Azure.
CONTROL SERVIDOR DE CONTROLO
ALTERAR QUALQUER ESQUEMA ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER SERVIÇO ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER CHAVE SIMÉTRICA ALTER SERVIDOR DE CONTROLO
ALTERAR TODOS OS UTILIZADORES ALTER SERVIDOR DE CONTROLO
AUTHENTICATE CONTROL AUTENTICAR SERVIDOR
BANCO DE DADOS DE BACKUP CONTROL SERVIDOR DE CONTROLO
REGISTO DE CÓPIA DE SEGURANÇA CONTROL SERVIDOR DE CONTROLO
CHECKPOINT CONTROL SERVIDOR DE CONTROLO
CONNECT REPLICAÇÃO CONNECT SERVIDOR DE CONTROLO
REPLICAÇÃO CONNECT CONTROL SERVIDOR DE CONTROLO
CONTROL CONTROL SERVIDOR DE CONTROLO
CRIAR AGREGAÇÃO ALTER SERVIDOR DE CONTROLO
CRIAR ASSEMBLY ALTERAR QUALQUER MONTAGEM SERVIDOR DE CONTROLO
CRIAR CHAVE ASSIMÉTRICA ALTERAR QUALQUER CHAVE ASSIMÉTRICA SERVIDOR DE CONTROLO
CRIAR CERTIFICADO ALTERAR QUALQUER CERTIFICADO SERVIDOR DE CONTROLO
CRIAR CONTRATO ALTERAR QUALQUER CONTRATO SERVIDOR DE CONTROLO
CRIAR BASE DE DADOS CONTROL CRIAR QUALQUER BASE DE DADOS
CRIAR NOTIFICAÇÃO DE EVENTO DDL DO BANCO DE DADOS ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO DO BANCO DE DADOS CRIAR NOTIFICAÇÃO DE EVENTO DDL
CRIAR PADRÃO ALTER SERVIDOR DE CONTROLO
CRIAR CATÁLOGO DE TEXTO COMPLETO ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO SERVIDOR DE CONTROLO
CRIAR FUNÇÃO ALTER SERVIDOR DE CONTROLO
CRIAR TIPO DE MENSAGEM ALTERAR QUALQUER TIPO DE MENSAGEM SERVIDOR DE CONTROLO
CRIAR PROCEDIMENTO ALTER SERVIDOR DE CONTROLO
CRIAR FILA ALTER SERVIDOR DE CONTROLO
CRIAR VINCULAÇÃO DE SERVIÇO REMOTO ALTERAR QUALQUER LIGAÇÃO DE SERVIÇO REMOTO SERVIDOR DE CONTROLO
CRIAR PAPEL ALTERAR QUALQUER FUNÇÃO SERVIDOR DE CONTROLO
CRIAR ROTA ALTERAR QUALQUER ROTA SERVIDOR DE CONTROLO
CRIAR REGRA ALTER SERVIDOR DE CONTROLO
CRIAR ESQUEMA ALTERAR QUALQUER ESQUEMA SERVIDOR DE CONTROLO
CRIAR SERVIÇO ALTERAR QUALQUER SERVIÇO SERVIDOR DE CONTROLO
CRIAR CHAVE SIMÉTRICA ALTERAR QUALQUER CHAVE SIMÉTRICA SERVIDOR DE CONTROLO
CRIAR SINÓNIMO ALTER SERVIDOR DE CONTROLO
CREATE TABLE ALTER SERVIDOR DE CONTROLO
CRIAR TIPO ALTER SERVIDOR DE CONTROLO
CRIAÇÃO DE VISÃO ALTER SERVIDOR DE CONTROLO
CRIAR COLEÇÃO DE ESQUEMA XML ALTER SERVIDOR DE CONTROLO
DELETE CONTROL SERVIDOR DE CONTROLO
EXECUTE CONTROL SERVIDOR DE CONTROLO
EXECUTE QUALQUER SCRIPT EXTERNO
Aplica-se a: SQL Server 2016 (13.x).
CONTROL SERVIDOR DE CONTROLO
INSERT CONTROL SERVIDOR DE CONTROLO
TERMINAR CONEXÃO DE BASE DE DADOS
Aplica-se a: Banco de Dados SQL do Azure.
CONTROL ALTERAR QUALQUER LIGAÇÃO
REFERENCES CONTROL SERVIDOR DE CONTROLO
SELECT CONTROL SERVIDOR DE CONTROLO
SHOWPLAN CONTROL ALTER TRACE
SUBSCREVER NOTIFICAÇÕES DE CONSULTA CONTROL SERVIDOR DE CONTROLO
ASSUMIR A RESPONSABILIDADE CONTROL SERVIDOR DE CONTROLO
UNMASK CONTROL SERVIDOR DE CONTROLO
UPDATE CONTROL SERVIDOR DE CONTROLO
VER QUALQUER CHAVE DE ENCRIPTAÇÃO DE COLUNA CONTROL VER QUALQUER DEFINIÇÃO
VER QUALQUER DEFINIÇÃO DE CHAVE MESTRA CONTROL VER QUALQUER DEFINIÇÃO
VER ESTADO DE BASE DE DADOS CONTROL VER ESTADO DO SERVIDOR
VER DEFINIÇÃO CONTROL VER QUALQUER DEFINIÇÃO

Permissions

A entidade de segurança que executa essa instrução (ou a entidade de segurança especificada com a opção AS) deve ter permissão CONTROL no banco de dados ou uma permissão superior que implique permissão CONTROL no banco de dados.

Se você estiver usando a opção AS, a entidade de segurança especificada deverá ser proprietária do banco de dados.

Examples

A. Negar permissão para criar certificados

O exemplo a seguir nega CREATE CERTIFICATE permissão AdventureWorks2025 no banco de dados ao usuário MelanieK.

USE AdventureWorks2022;
DENY CREATE CERTIFICATE TO MelanieK;
GO

B. Negando a permissão REFERENCES para uma função de aplicativo

O exemplo a seguir nega REFERENCES permissão AdventureWorks2025 no banco de dados para a função AuditMonitorde aplicativo.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior, Banco de dados SQL.

USE AdventureWorks2022;
DENY REFERENCES TO AuditMonitor;
GO

C. Negando VIEW DEFINITION com CASCADE

O exemplo a seguir nega VIEW DEFINITION permissão AdventureWorks2025 no banco de dados ao usuário CarmineEs e a todas as entidades às quais CarmineEs concedeu VIEW DEFINITION permissão.

USE AdventureWorks2022;
DENY VIEW DEFINITION TO CarmineEs CASCADE;
GO

Ver também