Permissões de banco de dados REVOKE (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric
Revoga permissões concedidas e negadas em um banco de dados.
Convenções de sintaxe de Transact-SQL
Sintaxe
REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ]
{ TO | FROM } <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
Observação
Para ver a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
permission
Especifica uma permissão que pode ser negada em um banco de dados. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.
ALL
Esta opção não revoga todas as permissões possíveis. A revogação ALL é equivalente a revogar as seguintes permissões: BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE e CREATE VIEW.
PRIVILEGES
Incluído para conformidade com ISO. Não altera o comportamento de ALL.
GRANT OPTION
Indica que o direito de conceder a permissão especificada a outros principais será revogado. A permissão em si não será revogada.
Importante
Se a entidade de segurança tiver a permissão especificada sem a opção GRANT, a própria permissão será revogada.
CASCADE
Indica que a permissão que está sendo revogada também é revogada de outros principais aos quais ela foi concedida ou negada por esse principal.
Cuidado
A revogação em cascata de uma permissão WITH GRANT OPTION concedida revogará as opções GRANT e DENY dessa permissão.
AS <database_principal> Especifica uma entidade de segurança por meio da qual a entidade de segurança que executa essa consulta obtém seu direito de revogar a permissão.
Database_user
Especifica um usuário do banco de dados.
Database_role
Especifica uma função de banco de dados.
Application_role
Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Banco de Dados SQL
Especifica uma função de aplicativo.
Database_user_mapped_to_Windows_User
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário do banco de dados mapeado para um usuário do Windows.
Database_user_mapped_to_Windows_Group
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário do banco de dados mapeado para um grupo do Windows.
Database_user_mapped_to_certificate
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário do banco de dados mapeado para um certificado.
Database_user_mapped_to_asymmetric_key
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário do banco de dados mapeado para uma chave assimétrica.
Database_user_with_no_login
Especifica um usuário do banco de dados sem nenhuma entidade de segurança correspondente no nível de servidor.
Comentários
A instrução falhará se CASCADE não for especificado na revogação de uma permissão a uma entidade à qual ela foi concedida com GRANT OPTION especificado.
Um banco de dados é um protegível contido no servidor pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas em um banco de dados são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
Permissão de banco de dados | Implícito na permissão de banco de dados | Implícito na permissão de servidor |
---|---|---|
ADMINISTRAR OPERAÇÕES EM LOTE DO BANCO DE DADOS Aplica-se a: Banco de Dados SQL. |
CONTROL | CONTROL SERVER |
ALTER | CONTROL | ALTER ANY DATABASE |
ALTER ANY APPLICATION ROLE | ALTER | CONTROL SERVER |
ALTER ANY ASSEMBLY | ALTER | CONTROL SERVER |
ALTER ANY ASYMMETRIC KEY | ALTER | CONTROL SERVER |
ALTER ANY CERTIFICATE | ALTER | CONTROL SERVER |
ALTER ANY COLUMN ENCRYPTION KEY | ALTER | CONTROL SERVER |
ALTERAR QUALQUER DEFINIÇÃO DE CHAVE MESTRA DE COLUNA | ALTER | CONTROL SERVER |
ALTER ANY CONTRACT | ALTER | CONTROL SERVER |
ALTER ANY DATABASE AUDIT | ALTER | ALTER ANY SERVER AUDIT |
ALTER ANY DATABASE DDL TRIGGER | ALTER | CONTROL SERVER |
ALTER ANY DATABASE EVENT NOTIFICATION | ALTER | ALTER ANY EVENT NOTIFICATION |
ALTER ANY DATABASE EVENT SESSION Aplica-se a: Banco de Dados SQL do Azure. |
ALTER | ALTER ANY EVENT SESSION |
ALTER ANY DATABASE SCOPED CONFIGURATION Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de Dados SQL. |
CONTROL | CONTROL SERVER |
ALTER ANY DATASPACE | ALTER | CONTROL SERVER |
ALTER ANY EXTERNAL DATA SOURCE | ALTER | CONTROL SERVER |
ALTER ANY EXTERNAL FILE FORMAT | ALTER | CONTROL SERVER |
ALTERAR QUALQUER BIBLIOTECA EXTERNA Aplica-se a: SQL Server 2017 (14.x). |
CONTROL | CONTROL SERVER |
ALTER ANY FULLTEXT CATALOG | ALTER | CONTROL SERVER |
ALTER ANY MASK | CONTROL | CONTROL SERVER |
ALTER ANY MESSAGE TYPE | ALTER | CONTROL SERVER |
ALTER ANY REMOTE SERVICE BINDING | ALTER | CONTROL SERVER |
ALTER ANY ROLE | ALTER | CONTROL SERVER |
ALTER ANY ROUTE | ALTER | CONTROL SERVER |
ALTER ANY SCHEMA | ALTER | CONTROL SERVER |
ALTER ANY SECURITY POLICY Aplica-se a: Banco de Dados SQL do Azure. |
CONTROL | CONTROL SERVER |
ALTER ANY SERVICE | ALTER | CONTROL SERVER |
ALTER ANY SYMMETRIC KEY | ALTER | CONTROL SERVER |
ALTER ANY USER | ALTER | CONTROL SERVER |
AUTHENTICATE | CONTROL | AUTHENTICATE SERVER |
BACKUP DATABASE | CONTROL | CONTROL SERVER |
BACKUP LOG | CONTROL | CONTROL SERVER |
CHECKPOINT | CONTROL | CONTROL SERVER |
CONECTAR | CONNECT REPLICATION | CONTROL SERVER |
CONNECT REPLICATION | CONTROL | CONTROL SERVER |
CONTROL | CONTROL | CONTROL SERVER |
CREATE AGGREGATE | ALTER | CONTROL SERVER |
CREATE ASSEMBLY | ALTER ANY ASSEMBLY | CONTROL SERVER |
CREATE ASYMMETRIC KEY | ALTER ANY ASYMMETRIC KEY | CONTROL SERVER |
CREATE CERTIFICATE | ALTER ANY CERTIFICATE | CONTROL SERVER |
CREATE CONTRACT | ALTER ANY CONTRACT | CONTROL SERVER |
CREATE DATABASE | CONTROL | CREATE ANY DATABASE |
CREATE DATABASE DDL EVENT NOTIFICATION | ALTER ANY DATABASE EVENT NOTIFICATION | CREATE DDL EVENT NOTIFICATION |
CREATE DEFAULT | ALTER | CONTROL SERVER |
CREATE FULLTEXT CATALOG | ALTER ANY FULLTEXT CATALOG | CONTROL SERVER |
CREATE FUNCTION | ALTER | CONTROL SERVER |
CREATE MESSAGE TYPE | ALTER ANY MESSAGE TYPE | CONTROL SERVER |
CREATE PROCEDURE | ALTER | CONTROL SERVER |
CREATE QUEUE | ALTER | CONTROL SERVER |
CREATE REMOTE SERVICE BINDING | ALTER ANY REMOTE SERVICE BINDING | CONTROL SERVER |
CREATE ROLE | ALTER ANY ROLE | CONTROL SERVER |
CREATE ROUTE | ALTER ANY ROUTE | CONTROL SERVER |
CREATE RULE | ALTER | CONTROL SERVER |
CREATE SCHEMA | ALTER ANY SCHEMA | CONTROL SERVER |
CREATE SERVICE | ALTER ANY SERVICE | CONTROL SERVER |
CREATE SYMMETRIC KEY | ALTER ANY SYMMETRIC KEY | CONTROL SERVER |
CREATE SYNONYM | ALTER | CONTROL SERVER |
CREATE TABLE | ALTER | CONTROL SERVER |
CREATE TYPE | ALTER | CONTROL SERVER |
CREATE VIEW | ALTER | CONTROL SERVER |
CREATE XML SCHEMA COLLECTION | ALTER | CONTROL SERVER |
Delete (excluir) | CONTROL | CONTROL SERVER |
Execute | CONTROL | CONTROL SERVER |
EXECUTE ANY EXTERNAL SCRIPT Aplica-se a: SQL Server 2016 (13.x). |
CONTROL | CONTROL SERVER |
INSERT | CONTROL | CONTROL SERVER |
KILL DATABASE CONNECTION Aplica-se a: Banco de Dados SQL do Azure. |
CONTROL | ALTER ANY CONNECTION |
REFERENCES | CONTROL | CONTROL SERVER |
SELECT | CONTROL | CONTROL SERVER |
SHOWPLAN | CONTROL | ALTER TRACE |
SUBSCRIBE QUERY NOTIFICATIONS | CONTROL | CONTROL SERVER |
TAKE OWNERSHIP | CONTROL | CONTROL SERVER |
UNMASK | CONTROL | CONTROL SERVER |
UPDATE | CONTROL | CONTROL SERVER |
VIEW ANY COLUMN ENCRYPTION KEY DEFINITION | CONTROL | VIEW ANY DEFINITION |
VIEW ANY COLUMN MASTER KEY DEFINITION | CONTROL | VIEW ANY DEFINITION |
VIEW DATABASE STATE | CONTROL | VIEW SERVER STATE |
VIEW DEFINITION | CONTROL | VIEW ANY DEFINITION |
Permissões
A entidade que executa esta instrução (ou a entidade especificada com a opção AS) deve ter a permissão CONTROL no banco de dados ou uma permissão acima que inclua a permissão CONTROL no banco de dados.
Se você estiver usando a opção AS, a entidade especificada deverá ser proprietária do banco de dados.
Exemplos
a. Revogando a permissão para criar certificados
O exemplo a seguir revoga a permissão CREATE CERTIFICATE
no banco de dados AdventureWorks2022
do usuário MelanieK
.
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
USE AdventureWorks2022;
REVOKE CREATE CERTIFICATE FROM MelanieK;
GO
B. Revogando a permissão REFERENCES de uma função de aplicativo
O exemplo a seguir revoga a permissão REFERENCES
no banco de dados AdventureWorks2022
da função de aplicativo AuditMonitor
.
Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Banco de Dados SQL
USE AdventureWorks2022;
REVOKE REFERENCES FROM AuditMonitor;
GO
C. Revogando VIEW DEFINITION com CASCADE
O exemplo a seguir revoga a permissão VIEW DEFINITION
no banco de dados AdventureWorks2022
do usuário CarmineEs
e de todas as entidades às quais CarmineEs
concedeu a permissão VIEW DEFINITION
.
USE AdventureWorks2022;
REVOKE VIEW DEFINITION FROM CarmineEs CASCADE;
GO
Consulte Também
sys.database_permissions (Transact-SQL)
sys.database_principals (Transact-SQL)
Permissões de banco de dados GRANT (Transact-SQL)
Permissões de banco de dados DENY (Transact-SQL)
Permissões (Mecanismo de Banco de Dados)
Entidades (Mecanismo de Banco de Dados)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de