Partilhar via


REVOGAR permissões de objeto (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL Managed Instance

Revoga permissões numa tabela, vista, função com valor de tabela, procedimento armazenado, procedimento armazenado estendido, função escalar, função agregada, fila de serviço ou sinónimo.

Transact-SQL convenções de sintaxe

Sintaxe

REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<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

permission
Especifica uma permissão que pode ser revogada num objeto contido no esquema. Para obter uma lista das permissões, consulte a seção Comentários mais adiante neste tópico.

ALL
Revogar TODOS não revoga todas as permissões possíveis. Revogar ALL é equivalente a revogar todas as permissões ANSI-92 aplicáveis ao objeto especificado. O significado de ALL varia da seguinte forma:

Permissões de função escalar: EXECUTE, REFERENCES.

Permissões de função com valor de tabela: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Permissões de procedimento armazenado: EXECUTE.

Permissões da tabela: EXCLUIR, INSERIR, REFERÊNCIAS, SELECIONAR, ATUALIZAR.

Ver permissões: EXCLUIR, INSERIR, REFERÊNCIAS, SELECIONAR, ATUALIZAR.

PRIVILEGES
Incluído para conformidade com ANSI-92. Não altera o comportamento da ALL.

coluna
Especifica o nome de uma coluna numa tabela, vista ou função de tabela para a qual a permissão está a ser revogada. Os parênteses ( ) são obrigatórios. Somente as permissões SELECT, REFERENCES e UPDATE podem ser negadas em uma coluna. pode ser especificada na cláusula permissions ou após o nome protegível.

EM [ OBJETO :: ] [ schema_name ] . object_name
Especifica o objeto sobre o qual a permissão está a ser revogada. A frase OBJECT é opcional se schema_name for especificado. Se a frase OBJECT for usada, o qualificador de escopo (::) será necessário. Se schema_name não for especificado, utiliza-se o esquema padrão. Se schema_name for especificado, é necessário o qualificador do âmbito do esquema (.).

{ DE | TO } <database_principal> Especifica o principal do qual a permissão está a ser revogada.

OPÇÃO DE CONCESSÃO
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 outras entidades às quais foi concedida ou negada por essa entidade de segurança.

Atenção

Uma revogação em cascata de uma permissão concedida COM OPÇÃO DE CONCESSÃO revogará GRANT e DENY dessa permissão.

AS <database_principal> Especifica um principal do qual o principal que executa esta consulta deriva o seu direito de revogar a permissão.

Database_user
Especifica um usuário de 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 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.

Observações

As informações sobre objetos são visíveis em várias exibições de catálogo. Para obter mais informações, consulte Exibições do catálogo de objetos (Transact-SQL).

Um objeto é um protegível de nível de esquema contido pelo esquema que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas sobre um objeto estão listadas na tabela seguinte, juntamente com as permissões mais gerais que as incluem por implicação.

Permissão de objeto Implícito pela permissão de objeto Implícito pela permissão de esquema
ALTER CONTROL ALTER
CONTROL CONTROL CONTROL
DELETE CONTROL DELETE
EXECUTE CONTROL EXECUTE
INSERT CONTROL INSERT
RECEIVE CONTROL CONTROL
REFERENCES CONTROL REFERENCES
SELECT RECEIVE SELECT
ASSUMIR A RESPONSABILIDADE CONTROL CONTROL
UPDATE CONTROL UPDATE
VER CONTROLO DE ALTERAÇÕES CONTROL VER CONTROLO DE ALTERAÇÕES
VER DEFINIÇÃO CONTROL VER DEFINIÇÃO

Permissions

Requer permissão CONTROL no objeto.

Se usar a cláusula AS, o principal especificado deve ser o proprietário do objeto sobre o qual as permissões estão a ser revogadas.

Examples

A. Revogar a permissão SELECT numa tabela

O exemplo seguinte revoga SELECT a permissão do utilizador RosaQdM na tabela Person.Address da AdventureWorks2025 base de dados.

USE AdventureWorks2022;  
REVOKE SELECT ON OBJECT::Person.Address FROM RosaQdM;  
GO  

B. Revogação da permissão EXECUTE num procedimento armazenado

O exemplo seguinte revoga EXECUTE permissão sobre o procedimento HumanResources.uspUpdateEmployeeHireInfo armazenado de um papel de aplicação chamado Recruiting11.

USE AdventureWorks2022;  
REVOKE EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    FROM Recruiting11;  
GO   

C. Revogação da permissão REFERENCES numa visualização com CASCADE

O exemplo seguinte revoga REFERENCES a permissão sobre a coluna BusinessEntityID na vista HumanResources.vEmployee do utilizador Wanida com CASCADE.

USE AdventureWorks2022;  
REVOKE REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    FROM Wanida CASCADE;  
GO  

Ver também

Permissões de objeto GRANT (Transact-SQL)
NEGAR Permissões de Objeto (Transact-SQL)
Exibições do catálogo de objetos (Transact-SQL)
Permissões (Motor de Base de Dados)
Principais (Motor de Base de Dados)
Securables
sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)