Partilhar via


Permissões de principal do banco de dados REVOKE (Transact-SQL)

Revoga permissões concedidas ou negadas em um usuário de banco de dados, função de banco de dados ou função de aplicativo.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]  
    ON 
    {  [ USER :: database_user ]
       | [ ROLE :: database_role ]
       | [ APPLICATION ROLE :: application_role ]
    }
    { FROM | TO } <database_principal> [ ,...n ]
        [ CASCADE ]
    [ AS <database_principal> ]

<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 

Argumentos

  • permission
    Especifica uma permissão que pode ser revogada no principal de banco de dados. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.

  • USER :: database_user
    Especifica a classe e o nome do usuário no qual a permissão está sendo revogada. O qualificador de escopo (::) é necessário.

  • ROLE :: database_role
    Especifica a classe e o nome da função na qual a permissão está sendo revogada. O qualificador de escopo (::) é necessário.

  • APPLICATION ROLE :: application_role
    Especifica a classe e o nome da função de aplicativo na qual a permissão está sendo revogada. O qualificador de escopo (::) é necessário.

  • GRANT OPTION
    Indica que o direito de conceder a permissão especificada a outras entidades será revogado. A permissão em si não será revogada.

    Observação importanteImportante

    Se o principal 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.

    Observação sobre cuidadosCuidado

    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 um principal do qual o principal que executa esta consulta deriva 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
    Especifica uma função de aplicativo.

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

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

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

  • Database_user_mapped_to_asymmetric_key
    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 nenhum principal correspondente no nível de servidor.

Comentários

Permissões do usuário do banco de dados

Um usuário do banco de dados é um item protegível do nível do banco de dados contido pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas em um usuário de banco de dados são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.

Permissão do usuário do banco de dados

Indicado pela permissão do usuário do banco de dados

Indicado pela permissão de banco de dados

CONTROL

CONTROL

CONTROL

IMPERSONATE

CONTROL

CONTROL

ALTER

CONTROL

ALTER ANY USER

VIEW DEFINITION

CONTROL

VIEW DEFINITION

Permissões da função de banco de dados

Uma função de banco de dados é um item protegível do nível do banco de dados contido pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas em uma função de banco de dados são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.

Permissão da função de banco de dados

Indicado pela permissão da função de banco de dados

Indicado pela permissão de banco de dados

CONTROL

CONTROL

CONTROL

TAKE OWNERSHIP

CONTROL

CONTROL

ALTER

CONTROL

ALTER ANY ROLE

VIEW DEFINITION

CONTROL

VIEW DEFINITION

Permissões de função de aplicativo

Uma função de aplicativo é um item protegível do nível do banco de dados contido pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas em uma função de aplicativo são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.

Permissão de função de aplicativo

Indicado pela permissão de função de aplicativo

Indicado pela permissão de banco de dados

CONTROL

CONTROL

CONTROL

ALTER

CONTROL

ALTER ANY APPLICATION ROLE

VIEW DEFINITION

CONTROL

VIEW DEFINITION

Permissões

Requer a permissão CONTROL no principal especificado ou uma permissão mais alta que implica a permissão CONTROL.

Os usuários autorizados da permissão CONTROL em um banco de dados, como os membros da função de banco de dados fixa db_owner, podem conceder qualquer permissão para qualquer item de segurança do banco de dados.

Exemplos

A. Revogando a permissão CONTROL em um usuário a partir de outro usuário

O exemplo a seguir revoga a permissão CONTROL no usuário Wanida do AdventureWorks2008R2 a partir do usuário RolandX.

USE AdventureWorks2008R2;
REVOKE CONTROL ON USER::Wanida FROM RolandX;
GO

B. Revogando a permissão VIEW DEFINITION em uma função de um usuário para o qual foi concedida a permissão WITH GRANT OPTION

O exemplo a seguir revoga a permissão VIEW DEFINITION na função SammamishParking do AdventureWorks2008R2 a partir do usuário de banco de dados JinghaoLiu. A opção CASCADE é especificada porque ao usuário JinghaoLiu foi concedida a permissão VIEW DEFINITIONWITH GRANT OPTION.

USE AdventureWorks2008R2;
REVOKE VIEW DEFINITION ON ROLE::SammamishParking 
    FROM JinghaoLiu CASCADE;
GO

C. Revogando a permissão PERSONATE em um usuário de uma função de aplicativo

O exemplo a seguir revoga a permissão IMPERSONATE no usuário HamithaL da função de aplicativo AccountsPayable17 do AdventureWorks2008R2.

USE AdventureWorks2008R2;
REVOKE IMPERSONATE ON USER::HamithaL FROM AccountsPayable17;
GO