Permissões de servidor REVOKE (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Remove as permissões em nível de servidor GRANT e DENY.

Convenções de sintaxe de Transact-SQL

Sintaxe

REVOKE [ GRANT OPTION FOR ] permission  [ ,...n ]   
    { TO | FROM } <grantee_principal> [ ,...n ]  
        [ CASCADE ]  
    [ AS <grantor_principal> ]   
  
<grantee_principal> ::= SQL_Server_login   
        | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  
  
<grantor_principal> ::= SQL_Server_login   
    | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  

Argumentos

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

{ TO | FROM } <grantee_principal> Especifica a entidade da qual a permissão está sendo revogada.

AS <grantor_principal> Especifica a entidade de segurança da qual a entidade de segurança que executa essa consulta obtém seu direito de revogar a permissão.

GRANT OPTION FOR
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.

SQL_Server_login
Especifica um logon do SQL Server.

SQL_Server_login_mapped_to_Windows_login
Especifica um logon do SQL Server mapeado para um logon do Windows.

SQL_Server_login_mapped_to_Windows_group
Especifica um logon do SQL Server mapeado para um grupo do Windows.

SQL_Server_login_mapped_to_certificate
Especifica um logon do SQL Server mapeado para um certificado do Windows.

SQL_Server_login_mapped_to_asymmetric_key
Especifica um logon do SQL Server mapeado para uma chave assimétrica.

server_role
Especifica uma função de servidor definida pelo usuário.

Comentários

As permissões no escopo de servidor podem ser revogadas somente quando o banco de dados atual é mestre.

REVOKE remove as permissões GRANT e DENY.

Use REVOKE GRANT OPTION FOR revogar o direito de conceder novamente a permissão especificada. Se o principal tiver a permissão com o direito de concedê-la, o direito de conceder a permissão será revogado, mas a permissão em si não será. Entretanto, se o principal tiver a permissão especificada sem a opção GRANT, a própria permissão será revogada.

As informações sobre permissões do servidor podem ser vistas na exibição do catálogo sys.server_permissions e as informações sobre entidades de segurança do servidor podem ser vistas na exibição do catálogo sys.server_principals. As informações sobre a associação de funções de servidor podem ser vistas na exibição do catálogo sys.server_role_members.

Um servidor é o nível mais alto da hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas em um servidor são listadas na tabela a seguir.

Permissões de servidor Implícito na permissão de servidor
ADMINISTER BULK OPERATIONS CONTROL SERVER
ALTER ANY AVAILABILITY GROUP

Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual).
CONTROL SERVER
ALTER ANY CONNECTION CONTROL SERVER
ALTER ANY CREDENTIAL CONTROL SERVER
ALTER ANY DATABASE CONTROL SERVER
ALTER ANY ENDPOINT CONTROL SERVER
ALTER ANY EVENT NOTIFICATION CONTROL SERVER
ALTER ANY EVENT SESSION CONTROL SERVER
ALTER ANY LINKED SERVER CONTROL SERVER
ALTER ANY LOGIN CONTROL SERVER
ALTER ANY SERVER AUDIT CONTROL SERVER
ALTER ANY SERVER ROLE

Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual).
CONTROL SERVER
ALTER RESOURCES CONTROL SERVER
ALTER SERVER STATE CONTROL SERVER
ALTER SETTINGS CONTROL SERVER
ALTER TRACE CONTROL SERVER
AUTHENTICATE SERVER CONTROL SERVER
CONNECT ANY DATABASE

Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual).
CONTROL SERVER
CONNECT SQL CONTROL SERVER
CONTROL SERVER CONTROL SERVER
CREATE ANY DATABASE ALTER ANY DATABASE
Criar grupo de disponibilidade

Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual).
ALTER ANY AVAILABILITY GROUP
CREATE DDL EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATION
CREATE ENDPOINT ALTER ANY ENDPOINT
CREATE SERVER ROLE

Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual).
ALTER ANY SERVER ROLE
CREATE TRACE EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATION
EXTERNAL ACCESS ASSEMBLY CONTROL SERVER
IMPERSONATE ANY LOGIN

Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual).
CONTROL SERVER
SELECT ALL USER SECURABLES

Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual).
CONTROL SERVER
SHUTDOWN CONTROL SERVER
UNSAFE ASSEMBLY CONTROL SERVER
VIEW ANY DATABASE VIEW ANY DEFINITION
VIEW ANY DEFINITION CONTROL SERVER
VIEW SERVER STATE ALTER SERVER STATE

Permissões

Requer a permissão CONTROL SERVER ou associação na função de servidor fixa sysadmin.

Exemplos

a. Revogando uma permissão de um logon

O exemplo a seguir revoga a permissão VIEW SERVER STATE de logon do SQL Server WanidaBenshoof.

USE master;  
REVOKE VIEW SERVER STATE FROM WanidaBenshoof;  
GO  

B. Revogando a opção WITH GRANT

O exemplo a seguir revoga o direito de conceder CONNECT SQL do logon do SQL Server JanethEsteves.

USE master;  
REVOKE GRANT OPTION FOR CONNECT SQL FROM JanethEsteves;  
GO  

O logon ainda tem a permissão CONNECT SQL, mas já não pode concedê-la a outros principais.

Consulte Também

GRANT (Transact-SQL)
DENY (Transact-SQL)
Permissões de servidor DENY (Transact-SQL)
Permissões REVOKE de servidor (Transact-SQL)
Hierarquia de permissões (Mecanismo de Banco de Dados)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)