REVOKE (Transact-SQL)REVOKE (Transact-SQL)

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseS’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Supprime une autorisation accordée ou refusée antérieurement.Removes a previously granted or denied permission.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

-- Syntax for SQL Server and Azure SQL Database  
  
-- Simplified syntax for REVOKE  
REVOKE [ GRANT OPTION FOR ]  
      {   
        [ ALL [ PRIVILEGES ] ]  
        |  
                permission [ ( column [ ,...n ] ) ] [ ,...n ]  
      }  
      [ ON [ class :: ] securable ]   
      { TO | FROM } principal [ ,...n ]   
      [ CASCADE] [ AS principal ]  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  
  
REVOKE   
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    [ FROM | TO ] principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class_type> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Notes

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 et versions antérieures, consultez Versions antérieures de la documentation.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumentsArguments

GRANT OPTION FORGRANT OPTION FOR
Indique que la possibilité d'accorder l'autorisation spécifiée sera révoquée.Indicates that the ability to grant the specified permission will be revoked. C'est obligatoire si vous utilisez l'argument CASCADE.This is required when you are using the CASCADE argument.

Important

Si le principal possède l'autorisation spécifiée sans l'option GRANT, l'autorisation elle-même sera révoquée.If the principal has the specified permission without the GRANT option, the permission itself will be revoked.

ALLALL
S’applique à : SQL Server 2008SQL Server 2008 et ultérieurApplies to: SQL Server 2008SQL Server 2008 and later

Cette option ne révoque pas toutes les autorisations possibles.This option does not revoke all possible permissions. La révocation complète, ALL, équivaut à révoquer les autorisations suivantes.Revoking ALL is equivalent to revoking the following permissions.

  • Si l'élément sécurisable est une base de données, ALL représente BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE et CREATE VIEW.If the securable is a database, ALL means BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, and CREATE VIEW.

  • Si l'élément sécurisable est une fonction scalaire, ALL représente EXECUTE et REFERENCES.If the securable is a scalar function, ALL means EXECUTE and REFERENCES.

  • Si l'élément sécurisable est une fonction table, ALL représente DELETE, INSERT, REFERENCES, SELECT et UPDATE.If the securable is a table-valued function, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

  • Si l'élément sécurisable est une procédure stockée, ALL représente EXECUTE.If the securable is a stored procedure, ALL means EXECUTE.

  • Si l'élément sécurisable est une table, ALL représente DELETE, INSERT, REFERENCES, SELECT et UPDATE.If the securable is a table, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

  • Si l'élément sécurisable est une vue, ALL représente DELETE, INSERT, REFERENCES, SELECT et UPDATE.If the securable is a view, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

Notes

La syntaxe REVOKE ALL est déconseillée.The REVOKE ALL syntax is deprecated. Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Révoquez des autorisations spécifiques à la place.Revoke specific permissions instead.

PRIVILEGESPRIVILEGES
Inclus pour la conformité aux normes ISO.Included for ISO compliance. Ne change pas le comportement de l'option ALL.Does not change the behavior of ALL.

permissionpermission
Nom d'une autorisation.Is the name of a permission. Les mappages valides d’autorisations à des éléments sécurisables sont décrits dans les rubriques répertoriées dans la section Syntaxe spécifique aux éléments sécurisables, plus loin dans cette rubrique.The valid mappings of permissions to securables are described in the topics listed in Securable-specific Syntax later in this topic.

columncolumn
Spécifie le nom d'une colonne d'une table sur laquelle les autorisations sont révoquées.Specifies the name of a column in a table on which permissions are being revoked. Les parenthèses sont obligatoires.The parentheses are required.

classclass
Spécifie la classe de l'élément sécurisable sur lequel l'autorisation est révoquée.Specifies the class of the securable on which the permission is being revoked. Le qualificateur d’étendue :: est obligatoire.The scope qualifier :: is required.

securablesecurable
Spécifie l'élément sécurisable sur lequel l'autorisation est révoquée.Specifies the securable on which the permission is being revoked.

TO | FROM principalTO | FROM principal
Nom d’un principal.Is the name of a principal. Les principaux d'où les autorisations portant sur un élément sécurisable peuvent être révoquées varient, selon cet élément sécurisable.The principals from which permissions on a securable can be revoked vary, depending on the securable. Pour plus d’informations sur les combinaisons valides, consultez les rubriques répertoriées dans la section Syntaxe spécifique aux éléments sécurisables, plus loin dans cette rubrique.For more information about valid combinations, see the topics listed in Securable-specific Syntax later in this topic.

CASCADECASCADE
Indique que l'autorisation qui est révoquée l'est aussi à partir d'autres principaux auxquels elle a été accordée par ce principal.Indicates that the permission that is being revoked is also revoked from other principals to which it has been granted by this principal. Lorsque vous utilisez l'argument CASCADE, vous devez également inclure l'argument GRANT OPTION FOR.When you are using the CASCADE argument, you must also include the GRANT OPTION FOR argument.

Attention

Une révocation en cascade d'une autorisation accordée avec l'option WITH GRANT OPTION entraîne la révocation des deux options GRANT et DENY de cette autorisation.A cascaded revocation of a permission granted WITH GRANT OPTION will revoke both GRANT and DENY of that permission.

AS principalAS principal
Utilisez la clause AS principal pour indiquer que vous révoquez une autorisation accordée par une entité de sécurité autre que vous.Use the AS principal clause to indicate that you are revoking a permission that was granted by a principal other than you. Supposez par exemple que l’utilisateur Mary est le principal_id 12 et que l’utilisateur Raul est le principal_id 15.For example, presume that user Mary is principal_id 12 and user Raul is principal_id 15. Mary et Raul accordent tous les deux à un utilisateur nommé Steven la même autorisation.Both Mary and Raul grant a user named Steven the same permission. La table sys.database_permissions indique deux fois les autorisations, mais elles auront chacune une valeur grantor_principal_id différente.The sys.database_permissions table will indicate the permissions twice but they will each have a different grantor_principal_id value. Mary peut révoquer l’autorisation à l’aide de la clause AS RAUL pour supprimer l’octroi d’autorisation de Raul.Mary could revoke the permission using the AS RAUL clause to remove Raul's grant of the permission.

L’utilisation de AS dans cette instruction n’implique pas la possibilité d’emprunter l’identité d’un autre utilisateur.The use of AS in this statement does not imply the ability to impersonate another user.

NotesRemarks

La syntaxe complète de l'instruction REVOKE est complexe.The full syntax of the REVOKE statement is complex. Le diagramme de syntaxe ci-dessus a été simplifié pour attirer l'attention sur sa structure.The syntax diagram above was simplified to draw attention to its structure. La syntaxe complète de la révocation d’autorisations sur des éléments sécurisables spécifiques est décrite dans les rubriques répertoriées dans la section Syntaxe spécifique aux éléments sécurisables, plus loin dans cette rubrique.Complete syntax for revoking permissions on specific securables is described in the topics listed in Securable-specific Syntax later in this topic.

L'instruction REVOKE peut s'utiliser pour supprimer des autorisations accordées et l'instruction DENY pour empêcher un principal d'obtenir une autorisation particulière au moyen d'une instruction GRANT.The REVOKE statement can be used to remove granted permissions, and the DENY statement can be used to prevent a principal from gaining a specific permission through a GRANT.

L'accord d'une autorisation supprime l'option DENY ou REVOKE de cette autorisation sur l'élément sécurisable spécifié.Granting a permission removes DENY or REVOKE of that permission on the specified securable. Si la même autorisation est refusée dans une étendue plus élevée qui contient l'élément sécurisable, l'option DENY est prioritaire.If the same permission is denied at a higher scope that contains the securable, the DENY takes precedence. Toutefois, la révocation de l'autorisation accordée à une étendue supérieure ne devient pas prioritaire.However, revoking the granted permission at a higher scope does not take precedence.

Attention

Une instruction DENY de niveau table n'a pas la priorité sur une instruction GRANT de niveau colonne.A table-level DENY does not take precedence over a column-level GRANT. Cette incohérence dans la hiérarchie des autorisations a été conservée pour des raisons de compatibilité descendante.This inconsistency in the permissions hierarchy has been preserved for backward compatibility. Elle sera supprimée dans une version ultérieure.It will be removed in a future release.

La procédure stockée système sp_helprotect répertorie les autorisations sur un élément sécurisable au niveau de la base de données.The sp_helprotect system stored procedure reports permissions on a database-level securable

L'instruction REVOKE échoue si l'argument CASCADE n'est pas spécifié lorsque vous révoquez une autorisation d'un principal auquel a été accordée cette autorisation avec GRANT OPTION spécifié.The REVOKE statement will fail if CASCADE is not specified when you are revoking a permission from a principal that was granted that permission with GRANT OPTION specified.

AutorisationsPermissions

Les principaux avec l'autorisation CONTROL sur un élément sécurisable peuvent révoquer l'autorisation sur cet élément sécurisable.Principals with CONTROL permission on a securable can revoke permission on that securable. Les propriétaires d'objets peuvent révoquer des autorisations sur les objets qu'ils possèdent.Object owners can revoke permissions on the objects they own.

Les bénéficiaires de l'autorisation CONTROL SERVER, par exemple les membres du rôle serveur fixe sysadmin, peuvent révoquer n'importe quelle autorisation sur n'importe quel élément sécurisable du serveur.Grantees of CONTROL SERVER permission, such as members of the sysadmin fixed server role, can revoke any permission on any securable in the server. Les bénéficiaires de l'autorisation CONTROL sur une base de données, par exemple les membres du rôle de base de données fixe db_owner, peuvent révoquer n'importe quelle autorisation sur n'importe quel élément sécurisable de la base de données.Grantees of CONTROL permission on a database, such as members of the db_owner fixed database role, can revoke any permission on any securable in the database. Les bénéficiaires de l'autorisation CONTROL sur un schéma peuvent révoquer n'importe quelle autorisation sur n'importe quel objet du schéma.Grantees of CONTROL permission on a schema can revoke any permission on any object within the schema.

Syntaxe spécifique aux éléments sécurisablesSecurable-specific Syntax

Le tableau suivant répertorie les éléments sécurisables et les rubriques qui décrivent leur syntaxe.The following table lists the securables and the topics that describe the securable-specific syntax.

Élément sécurisableSecurable RubriqueTopic
Rôle d'applicationApplication Role REVOKE - Révoquer des autorisations sur un principal de base de données (Transact-SQL)REVOKE Database Principal Permissions (Transact-SQL)
AssemblyAssembly REVOKE - Révoquer des autorisations sur un assembly (Transact-SQL)REVOKE Assembly Permissions (Transact-SQL)
Clé asymétriqueAsymmetric Key REVOKE - Révoquer des autorisations sur une clé asymétrique (Transact-SQL)REVOKE Asymmetric Key Permissions (Transact-SQL)
Groupe de disponibilitéAvailability Group REVOKE - Révoquer des autorisations sur un groupe de disponibilité (Transact-SQL)REVOKE Availability Group Permissions (Transact-SQL)
CertificatCertificate REVOKE - Révoquer des autorisations sur un certificat (Transact-SQL)REVOKE Certificate Permissions (Transact-SQL)
ContratContract Autorisations REVOKE dans Service Broker (Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
Base de donnéesDatabase REVOKE - Révoquer des autorisations sur une base de données (Transact-SQL)REVOKE Database Permissions (Transact-SQL)
Point de terminaisonEndpoint REVOKE - Révoquer des autorisations sur un point de terminaison (Transact-SQL)REVOKE Endpoint Permissions (Transact-SQL)
Informations d’identification délimitées à la base de donnéesDatabase Scoped Credential REVOKE - Révoquer des autorisations sur les informations d’identification délimitées à la base de données (Transact-SQL)REVOKE Database Scoped Credential (Transact-SQL)
Catalogue de texte intégralFull-text Catalog REVOKE - Révoquer des autorisations sur un texte intégral (Transact-SQL)REVOKE Full-Text Permissions (Transact-SQL)
Liste de mots vides de texte intégralFull-Text Stoplist REVOKE - Révoquer des autorisations sur un texte intégral (Transact-SQL)REVOKE Full-Text Permissions (Transact-SQL)
FonctionFunction REVOKE - Révoquer des autorisations sur un objet (Transact-SQL)REVOKE Object Permissions (Transact-SQL)
ConnexionLogin Autorisations du principal du serveur REVOKE (Transact-SQL)REVOKE Server Principal Permissions (Transact-SQL)
Type de messageMessage Type Autorisations REVOKE dans Service Broker (Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
ObjectObject REVOKE - Révoquer des autorisations sur un objet (Transact-SQL)REVOKE Object Permissions (Transact-SQL)
File d'attenteQueue REVOKE - Révoquer des autorisations sur un objet (Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Liaisons de service distantRemote Service Binding Autorisations REVOKE dans Service Broker (Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
RoleRole REVOKE - Révoquer des autorisations sur un principal de base de données (Transact-SQL)REVOKE Database Principal Permissions (Transact-SQL)
RoutageRoute Autorisations REVOKE dans Service Broker (Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
schémaSchema REVOKE - Révoquer des autorisations sur un schéma (Transact-SQL)REVOKE Schema Permissions (Transact-SQL)
Liste de propriétés de rechercheSearch Property List REVOKE - Révoquer des autorisations sur une liste de propriétés de recherche (Transact-SQL)REVOKE Search Property List Permissions (Transact-SQL)
ServeurServer REVOKE - Révoquer des autorisations sur un serveur (Transact-SQL)REVOKE Server Permissions (Transact-SQL)
ServiceService Autorisations REVOKE dans Service Broker (Transact-SQL)REVOKE Service Broker Permissions (Transact-SQL)
Procédure stockéeStored Procedure REVOKE - Révoquer des autorisations sur un objet (Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Clé symétriqueSymmetric Key REVOKE - Révoquer des autorisations sur une clé symétrique (Transact-SQL)REVOKE Symmetric Key Permissions (Transact-SQL)
SynonymeSynonym REVOKE - Révoquer des autorisations sur un objet (Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Objets systèmeSystem Objects REVOKE - Révoquer des autorisations sur un objet système (Transact-SQL)REVOKE System Object Permissions (Transact-SQL)
Table de charge de travailTable REVOKE - Révoquer des autorisations sur un objet (Transact-SQL)REVOKE Object Permissions (Transact-SQL)
TypeType REVOKE – Révoquer des autorisations sur un type (Transact-SQL)REVOKE Type Permissions (Transact-SQL)
UtilisateurUser REVOKE - Révoquer des autorisations sur un principal de base de données (Transact-SQL)REVOKE Database Principal Permissions (Transact-SQL)
VueView REVOKE - Révoquer des autorisations sur un objet (Transact-SQL)REVOKE Object Permissions (Transact-SQL)
Collection de schémas XMLXML Schema Collection REVOKE – Révoquer des autorisations sur une collection de schémas XML (Transact-SQL)REVOKE XML Schema Collection Permissions (Transact-SQL)

Voir aussiSee Also

Hiérarchie des autorisations (Moteur de base de données) Permissions Hierarchy (Database Engine)
DENY (Transact-SQL) DENY (Transact-SQL)
GRANT (Transact-SQL) GRANT (Transact-SQL)
sp_addlogin (Transact-SQL) sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL) sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL) sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL) sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL) sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)sp_helpuser (Transact-SQL)