DENY Permissões de Base de Dados (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 TODOS é equivalente a negar as seguintes permissões: BACKUP, LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, , CREATE TABLE, e CREATE VIEW. BACKUPDATABASE

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
ADMINISTRAÇÃO DATABASE DE OPERAÇÕES A GRANEL
Aplica-se a: Banco de dados SQL.
CONTROL SERVIDOR DE CONTROLO
ALTER CONTROL ALTER QUALQUER DATABASE
ALTER QUALQUER APPLICATION ROLE ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER ASSEMBLY ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER ASYMMETRIC KEY ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER CERTIFICATE ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER COLUMN ENCRYPTION KEY ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER COLUMN MASTER KEY DEFINIÇÃO ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER CONTRACT ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER DATABASE AUDITORIA ALTER ALTER QUALQUER SERVER AUDIT
ALTERAR QUALQUER DATABASE DDL TRIGGER ALTER SERVIDOR DE CONTROLO
ALTERAR QUALQUER DATABASEEVENT NOTIFICATION ALTER ALTER QUALQUER EVENT NOTIFICATION
ALTERAR QUALQUER DATABASEEVENT SESSION
Aplica-se a: Banco de Dados SQL do Azure.
ALTER ALTER QUALQUER EVENT SESSION
ALTER QUALQUER DATABASE SCOPED CONFIGURATION
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
ALTER QUALQUER EXTERNAL DATA SOURCE ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER EXTERNAL FILE FORMAT ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER EXTERNAL LIBRARY
Aplica-se a: SQL Server 2017 (14.x).
CONTROL SERVIDOR DE CONTROLO
ALTER QUALQUER FULLTEXT CATALOG ALTER SERVIDOR DE CONTROLO
ALTERE QUALQUER MÁSCARA CONTROL SERVIDOR DE CONTROLO
ALTER QUALQUER MESSAGE TYPE ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER REMOTE SERVICE BINDING ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER ROLE ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER ROUTE ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER SECURITY POLICY
Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de Dados SQL do Azure.
CONTROL SERVIDOR DE CONTROLO
ALTER QUALQUER SCHEMA ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER SERVICE ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER SYMMETRIC KEY ALTER SERVIDOR DE CONTROLO
ALTER QUALQUER USER ALTER SERVIDOR DE CONTROLO
AUTHENTICATE CONTROL AUTENTICAR SERVIDOR
BACKUP DATABASE CONTROL SERVIDOR DE CONTROLO
BACKUP LOG 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
CREATE AGGREGATE ALTER SERVIDOR DE CONTROLO
CREATE ASSEMBLY ALTER QUALQUER ASSEMBLY SERVIDOR DE CONTROLO
CREATE ASYMMETRIC KEY ALTER QUALQUER ASYMMETRIC KEY SERVIDOR DE CONTROLO
CREATE CERTIFICATE ALTER QUALQUER CERTIFICATE SERVIDOR DE CONTROLO
CREATE CONTRACT ALTER QUALQUER CONTRACT SERVIDOR DE CONTROLO
CREATE DATABASE CONTROL CRIAR QUALQUER DATABASE
CREATE DATABASE DDL EVENT NOTIFICATION ALTERAR QUALQUER DATABASEEVENT NOTIFICATION CRIAR DDL EVENT NOTIFICATION
CREATE DEFAULT ALTER SERVIDOR DE CONTROLO
CREATE FULLTEXT CATALOG ALTER QUALQUER FULLTEXT CATALOG SERVIDOR DE CONTROLO
CREATE FUNCTION ALTER SERVIDOR DE CONTROLO
CREATE MESSAGE TYPE ALTER QUALQUER MESSAGE TYPE SERVIDOR DE CONTROLO
CREATE PROCEDURE ALTER SERVIDOR DE CONTROLO
CREATE QUEUE ALTER SERVIDOR DE CONTROLO
CREATE REMOTE SERVICE BINDING ALTER QUALQUER REMOTE SERVICE BINDING SERVIDOR DE CONTROLO
CREATE ROLE ALTER QUALQUER ROLE SERVIDOR DE CONTROLO
CREATE ROUTE ALTER QUALQUER ROUTE SERVIDOR DE CONTROLO
CREATE RULE ALTER SERVIDOR DE CONTROLO
CREATE SCHEMA ALTER QUALQUER SCHEMA SERVIDOR DE CONTROLO
CREATE SERVICE ALTER QUALQUER SERVICE SERVIDOR DE CONTROLO
CREATE SYMMETRIC KEY ALTER QUALQUER SYMMETRIC KEY SERVIDOR DE CONTROLO
CREATE SYNONYM ALTER SERVIDOR DE CONTROLO
CREATE TABLE ALTER SERVIDOR DE CONTROLO
CREATE TYPE ALTER SERVIDOR DE CONTROLO
CREATE VIEW ALTER SERVIDOR DE CONTROLO
CREATE XML SCHEMA COLLECTION 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
KILL DATABASE CONNECTION
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 ALTERAR RASTREAMENTO
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
VIEW QUALQUER COLUMN ENCRYPTION KEY CONTROL VIEW QUALQUER DEFINIÇÃO
VIEW QUALQUER MASTER KEY DEFINIÇÃO CONTROL VIEW QUALQUER DEFINIÇÃO
VIEW DATABASE ESTADO CONTROL VIEW ESTADO DO SERVIDOR
VIEW DEFINIÇÃO CONTROL VIEW 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. Negar VIEW a DEFINIÇÃO com CASCATA

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