REVOKE – révocation d'autorisations de serveur (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

Permet de supprimer des autorisations GRANT et DENY au niveau serveur.

Conventions de la syntaxe Transact-SQL

Syntaxe

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  

Arguments

permission
Spécifie une autorisation qui peut être accordée sur un serveur. Pour obtenir la liste des autorisations, consultez la section Notes plus loin dans cette rubrique.

{ TO | FROM } <grantee_principal> Spécifie le principal pour lequel l’autorisation est révoquée.

AS <grantor_principal> Spécifie le principal à partir duquel le principal qui exécute cette requête dérive son droit de révoquer l’autorisation.

GRANT OPTION FOR
Indique que le droit d'accorder l'autorisation spécifiée à d'autres principaux sera révoqué. L'autorisation elle-même ne sera pas révoquée.

Important

Si le principal possède l'autorisation spécifiée sans l'option GRANT, l'autorisation elle-même sera révoquée.

CASCADE
Indique que l'autorisation en cours de révocation est également révoquée sur les principaux auxquels cette autorisation a été accordée ou révoquée par ce principal.

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.

SQL_Server_login
Spécifie une connexion SQL Server.

SQL_Server_login_mapped_to_Windows_login
Spécifie une connexion SQL Server mappée sur une connexion Windows.

SQL_Server_login_mapped_to_Windows_group
Spécifie une connexion SQL Server mappée sur un groupe Windows.

SQL_Server_login_mapped_to_certificate
Spécifie un compte de connexion SQL Server mappé à un certificat.

SQL_Server_login_mapped_to_asymmetric_key
Spécifie un compte de connexion SQL Server mappé à une clé asymétrique.

server_role
Spécifie un rôle de serveur défini par l'utilisateur.

Notes

Les autorisations dans l'étendue du serveur peuvent être révoquées seulement lorsque la base de données en cours est master.

REVOKE permet de supprimer les deux autorisations GRANT et DENY.

Utilisez REVOKE GRANT OPTION FOR pour révoquer le droit d'accorder à son tour l'autorisation spécifiée. Si le principal possède l'autorisation avec le droit de l'accorder, le droit d'accorder l'autorisation est révoqué, mais l'autorisation elle-même n'est pas révoquée. En revanche, si le principal possède l'autorisation spécifiée sans l'option GRANT, l'autorisation elle-même est révoquée.

Les informations sur les autorisations de serveur peuvent être consultées dans la vue de catalogue sys.server_permissions, tandis que les informations sur les principaux de serveur peuvent être consultées dans la vue de catalogue sys.server_principals. Des informations sur l’appartenance des rôles de serveur peuvent être consultées dans la vue de catalogue sys.server_role_members.

Un serveur représente le plus haut niveau de la hiérarchie des autorisations. Les autorisations les plus spécifiques et limitées qu'il est possible de révoquer sur un serveur sont répertoriées dans le tableau ci-dessous.

Autorisation de serveur Déduite d'une autorisation de serveur
ADMINISTER BULK OPERATIONS CONTROL SERVER
ALTER ANY AVAILABILITY GROUP

S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle).
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

S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle).
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

S'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle).
CONTROL SERVER
CONNECT SQL CONTROL SERVER
CONTROL SERVER CONTROL SERVER
CREATE ANY DATABASE ALTER ANY DATABASE
Créer un groupe de disponibilité

S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle).
ALTER ANY AVAILABILITY GROUP
CREATE DDL EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATION
CREATE ENDPOINT ALTER ANY ENDPOINT
CREATE SERVER ROLE

S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle).
ALTER ANY SERVER ROLE
CREATE TRACE EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATION
EXTERNAL ACCESS ASSEMBLY CONTROL SERVER
IMPERSONATE ANY LOGIN

S'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle).
CONTROL SERVER
SELECT ALL USER SECURABLES

S'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle).
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

Autorisations

Requiert l'autorisation CONTROL SERVER ou l'appartenance au rôle serveur fixe sysadmin.

Exemples

R. Révocation d'une autorisation pour une connexion

L’exemple ci-dessous révoque l’autorisation VIEW SERVER STATE pour la connexion SQL Server WanidaBenshoof.

USE master;  
REVOKE VIEW SERVER STATE FROM WanidaBenshoof;  
GO  

B. Révocation de l'option WITH GRANT

L’exemple ci-dessous révoque le droit d’accorder CONNECT SQL est révoqué à la connexion SQL Server JanethEsteves.

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

La connexion possède encore l'autorisation CONNECT SQL, mais ne peut plus accorder cette autorisation à d'autres principaux.

Voir aussi

GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY – refus d'autorisations de serveur (Transact-SQL)
REVOKE - Révoquer des autorisations sur un serveur (Transact-SQL)
Hiérarchie des autorisations (moteur de base de données)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)