GRANT – octroi d'autorisations de serveur (Transact-SQL)GRANT Server Permissions (Transact-SQL)

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)nonAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Permet d'accorder des autorisations sur un serveur.Grants permissions on a server.

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

SyntaxeSyntax


GRANT permission [ ,...n ]   
    TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]  
    [ 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  

ArgumentsArguments

autorisationpermission
Spécifie une autorisation qui peut être accordée sur un serveur.Specifies a permission that can be granted on a server. Pour obtenir la liste des autorisations, consultez la section Notes plus loin dans cette rubrique.For a list of the permissions, see the Remarks section later in this topic.

POUR <principal_bénéficiaire > Spécifie le principal auquel l’autorisation est accordée.TO <grantee_principal> Specifies the principal to which the permission is being granted.

En tant que <grantor_principal > Spécifie le principal à partir duquel le principal qui exécute cette requête dérive son droit d’accorder l’autorisation.AS <grantor_principal> Specifies the principal from which the principal executing this query derives its right to grant the permission.

WITH GRANT OPTIONWITH GRANT OPTION
Indique que le principal a également la possibilité d'accorder l'autorisation spécifiée à d'autres principaux.Indicates that the principal will also be given the ability to grant the specified permission to other principals.

SQL_Server_loginSQL_Server_login
Spécifie une connexion SQL ServerSQL Server.Specifies a SQL ServerSQL Server login.

SQL_Server_login_mapped_to_Windows_loginSQL_Server_login_mapped_to_Windows_login
Spécifie une connexion SQL ServerSQL Server mappée sur une connexion Windows.Specifies a SQL ServerSQL Server login mapped to a Windows login.

SQL_Server_login_mapped_to_Windows_groupSQL_Server_login_mapped_to_Windows_group
Spécifie une connexion SQL ServerSQL Server mappée sur un groupe Windows.Specifies a SQL ServerSQL Server login mapped to a Windows group.

SQL_Server_login_mapped_to_certificateSQL_Server_login_mapped_to_certificate
Spécifie un compte de connexion SQL ServerSQL Server mappé à un certificat.Specifies a SQL ServerSQL Server login mapped to a certificate.

SQL_Server_login_mapped_to_asymmetric_keySQL_Server_login_mapped_to_asymmetric_key
Spécifie un compte de connexion SQL ServerSQL Server mappé à une clé asymétrique.Specifies a SQL ServerSQL Server login mapped to an asymmetric key.

server_roleserver_role
Spécifie un rôle de serveur défini par l'utilisateur.Specifies a user-defined server role.

NotesRemarks

Les autorisations dans l'étendue du serveur peuvent être accordées seulement lorsque la base de données en cours est master.Permissions at the server scope can be granted only when the current database is master.

Informations sur les autorisations de serveur peuvent être consultées dans le sys.server_permissions vue de catalogue et des informations sur les principaux de serveur peuvent être affichés dans le sys.server_principals vue de catalogue.Information about server permissions can be viewed in the sys.server_permissions catalog view, and information about server principals can be viewed in the sys.server_principals catalog view. Informations sur l’appartenance des rôles de serveur peuvent être consultées dans le sys.server_role_members affichage catalogue.Information about membership of server roles can be viewd in the sys.server_role_members catalog view.

Un serveur représente le plus haut niveau de la hiérarchie des autorisations.A server is the highest level of the permissions hierarchy. Les autorisations les plus spécifiques et limitées qu'il est possible d'accorder sur un serveur sont répertoriées dans le tableau ci-dessous.The most specific and limited permissions that can be granted on a server are listed in the following table.

Autorisation de serveurServer permission Déduite d'une autorisation de serveurImplied by server permission
ADMINISTER BULK OPERATIONSADMINISTER BULK OPERATIONS CONTROL SERVERCONTROL SERVER
ALTER ANY AVAILABILITY GROUPALTER ANY AVAILABILITY GROUP

S’applique à: SQL ServerSQL Server ( SQL Server 2012SQL Server 2012 jusqu’à version actuelle).Applies to: SQL ServerSQL Server ( SQL Server 2012SQL Server 2012 through current version).
CONTROL SERVERCONTROL SERVER
ALTER ANY CONNECTIONALTER ANY CONNECTION CONTROL SERVERCONTROL SERVER
ALTER ANY CREDENTIALALTER ANY CREDENTIAL CONTROL SERVERCONTROL SERVER
ALTER ANY DATABASEALTER ANY DATABASE CONTROL SERVERCONTROL SERVER
ALTER ANY ENDPOINTALTER ANY ENDPOINT CONTROL SERVERCONTROL SERVER
ALTER ANY EVENT NOTIFICATIONALTER ANY EVENT NOTIFICATION CONTROL SERVERCONTROL SERVER
ALTER ANY EVENT SESSIONALTER ANY EVENT SESSION CONTROL SERVERCONTROL SERVER
ALTER ANY LINKED SERVERALTER ANY LINKED SERVER CONTROL SERVERCONTROL SERVER
ALTER ANY LOGINALTER ANY LOGIN CONTROL SERVERCONTROL SERVER
ALTER ANY SERVER AUDITALTER ANY SERVER AUDIT CONTROL SERVERCONTROL SERVER
ALTER ANY SERVER ROLEALTER ANY SERVER ROLE

S’applique à: SQL ServerSQL Server ( SQL Server 2012SQL Server 2012 jusqu’à version actuelle).Applies to: SQL ServerSQL Server ( SQL Server 2012SQL Server 2012 through current version).
CONTROL SERVERCONTROL SERVER
ALTER RESOURCESALTER RESOURCES CONTROL SERVERCONTROL SERVER
ALTER SERVER STATEALTER SERVER STATE CONTROL SERVERCONTROL SERVER
ALTER SETTINGSALTER SETTINGS CONTROL SERVERCONTROL SERVER
ALTER TRACEALTER TRACE CONTROL SERVERCONTROL SERVER
AUTHENTICATE SERVERAUTHENTICATE SERVER CONTROL SERVERCONTROL SERVER
CONNECT ANY DATABASECONNECT ANY DATABASE

S'applique à: SQL ServerSQL Server ( SQL Server 2014SQL Server 2014 via la version actuelle).Applies to: SQL ServerSQL Server ( SQL Server 2014SQL Server 2014 through current version).
CONTROL SERVERCONTROL SERVER
CONNECT SQLCONNECT SQL CONTROL SERVERCONTROL SERVER
CONTROL SERVERCONTROL SERVER CONTROL SERVERCONTROL SERVER
CREATE ANY DATABASECREATE ANY DATABASE ALTER ANY DATABASEALTER ANY DATABASE
CREATE AVAILABILITY GROUPCREATE AVAILABILITY GROUP

S’applique à: SQL ServerSQL Server ( SQL Server 2012SQL Server 2012 jusqu’à version actuelle).Applies to: SQL ServerSQL Server ( SQL Server 2012SQL Server 2012 through current version).
ALTER ANY AVAILABILITY GROUPALTER ANY AVAILABILITY GROUP
CREATE DDL EVENT NOTIFICATIONCREATE DDL EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATIONALTER ANY EVENT NOTIFICATION
CREATE ENDPOINTCREATE ENDPOINT ALTER ANY ENDPOINTALTER ANY ENDPOINT
CREATE SERVER ROLECREATE SERVER ROLE

S’applique à: SQL ServerSQL Server ( SQL Server 2012SQL Server 2012 jusqu’à version actuelle).Applies to: SQL ServerSQL Server ( SQL Server 2012SQL Server 2012 through current version).
ALTER ANY SERVER ROLEALTER ANY SERVER ROLE
CREATE TRACE EVENT NOTIFICATIONCREATE TRACE EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATIONALTER ANY EVENT NOTIFICATION
EXTERNAL ACCESS ASSEMBLYEXTERNAL ACCESS ASSEMBLY CONTROL SERVERCONTROL SERVER
IMPERSONATE ANY LOGINIMPERSONATE ANY LOGIN

S'applique à: SQL ServerSQL Server ( SQL Server 2014SQL Server 2014 via la version actuelle).Applies to: SQL ServerSQL Server ( SQL Server 2014SQL Server 2014 through current version).
CONTROL SERVERCONTROL SERVER
SELECT ALL USER SECURABLESSELECT ALL USER SECURABLES

S'applique à: SQL ServerSQL Server ( SQL Server 2014SQL Server 2014 via la version actuelle).Applies to: SQL ServerSQL Server ( SQL Server 2014SQL Server 2014 through current version).
CONTROL SERVERCONTROL SERVER
SHUTDOWNSHUTDOWN CONTROL SERVERCONTROL SERVER
UNSAFE ASSEMBLYUNSAFE ASSEMBLY CONTROL SERVERCONTROL SERVER
VIEW ANY DATABASEVIEW ANY DATABASE VIEW ANY DEFINITIONVIEW ANY DEFINITION
VIEW ANY DEFINITIONVIEW ANY DEFINITION CONTROL SERVERCONTROL SERVER
VIEW SERVER STATEVIEW SERVER STATE ALTER SERVER STATEALTER SERVER STATE

NotesRemarks

Les trois autorisations de serveur suivantes ont été ajoutées dans SQL Server 2014SQL Server 2014.The following three server permissions were added in SQL Server 2014SQL Server 2014.

Se connecter à une base de données autorisationCONNECT ANY DATABASE Permission
Accordez l'autorisation CONNECT ANY DATABASE à une connexion qui doit se connecter à toutes les bases de données existantes et à celles qui pourront être créées.Grant CONNECT ANY DATABASE to a login that must connect to all databases that currently exist and to any new databases that might be created in future. N'accorde pas d'autorisation dans une base de données au-delà de la connexion.Does not grant any permission in any database beyond connect. Combiner avec SELECT ALL USER SECURABLES ou VIEW SERVER STATE pour autoriser un processus d’audit afficher toutes les données ou tous les États de la base de données sur l’instance de SQL ServerSQL Server.Combine with SELECT ALL USER SECURABLES or VIEW SERVER STATE to allow an auditing process to view all data or all database states on the instance of SQL ServerSQL Server.

Emprunter l’identité de n’importe quelle connexion autorisationIMPERSONATE ANY LOGIN Permission
Lorsque cette autorisation est accordée, elle permet à un processus de niveau intermédiaire d'emprunter l'identité du compte des clients qui se connectent, à mesure qu'il se connecte aux bases de données.When granted, allows a middle-tier process to impersonate the account of clients connecting to it, as it connects to databases. Si cette autorisation est refusée, une connexion dotée de privilèges élevés peut être bloquée à partir de l'emprunt d'identité d'autres connexions.When denied, a high privileged login can be blocked from impersonating other logins. Par exemple, une connexion dotée de l'autorisation CONTROL SERVER peut être bloquée à partir de l'emprunt d'identité d'autres connexions.For example, a login with CONTROL SERVER permission can be blocked from impersonating other logins.

Sélectionnez tous les éléments SÉCURISABLES d’utilisateur autorisationSELECT ALL USER SECURABLES Permission
Lorsque cette autorisation est accordée, une connexion telle qu'un auditeur peut afficher les données de toutes les bases de données auxquelles l'utilisateur se connecte.When granted, a login such as an auditor can view data in all databases that the user can connect to. Lorsque refusé, empêche l’accès aux objets, sauf si elles sont dans le sys schéma.When denied, prevents access to objects unless they are in the sys schema.

PermissionsPermissions

Le fournisseur d'autorisations (ou le principal spécifié avec l'option AS) doit posséder l'autorisation elle-même avec l'option GRANT OPTION ou une autorisation plus élevée qui implique l'autorisation accordée.The grantor (or the principal specified with the AS option) must have either the permission itself with GRANT OPTION or a higher permission that implies the permission being granted. Les membres du rôle serveur fixe sysadmin peuvent accorder toutes les autorisations.Members of the sysadmin fixed server role can grant any permission.

ExemplesExamples

A.A. Octroi d'une autorisation à une connexionGranting a permission to a login

Dans l'exemple ci-dessous, l'autorisation CONTROL SERVER est accordée à la connexion SQL ServerSQL Server TerryEminhizer.The following example grants CONTROL SERVER permission to the SQL ServerSQL Server login TerryEminhizer.

USE master;  
GRANT CONTROL SERVER TO TerryEminhizer;  
GO  

B.B. Octroi d'une autorisation qui possède l'autorisation GRANTGranting a permission that has GRANT permission

Dans l'exemple suivant, l'autorisation ALTER ANY EVENT NOTIFICATION est accordée à la connexion SQL ServerSQL Server JanethEsteves avec le droit d'accorder cette autorisation à une autre connexion.The following example grants ALTER ANY EVENT NOTIFICATION to SQL ServerSQL Server login JanethEsteves with the right to grant that permission to another login.

USE master;  
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;  
GO  

C.C. Octroi d'une autorisation à un rôle de serveurGranting a permission to a server role

L'exemple suivant crée deux rôles de serveur nommés ITDevAdmin et ITDevelopers.The following example creates two server roles named ITDevAdmin and ITDevelopers. Il accorde l'autorisation ALTER ANY DATABASE au rôle de serveur défini par l'utilisateur ITDevAdmin, notamment l'option WITH GRANT afin que le rôle de serveur ITDevAdmin puisse réaffecter l'autorisation ALTER ANY DATABASEIt grants the ALTER ANY DATABASE permission to the ITDevAdmin user-defined server role including the WITH GRANT option so that the ITDevAdmin server role can reassign the ALTER ANY DATABASE permission. L'exemple accorde ensuite à ITDevelopers l'autorisation d'utiliser l'autorisation ALTER ANY DATABASE du rôle de serveur ITDevAdmin.Then, the example grants the ITDevelopers the permission to use the ALTER ANY DATABASE permission of the ITDevAdmin server role.

USE master;  
CREATE SERVER ROLE ITDevAdmin ;  
CREATE SERVER ROLE ITDevelopers ;  
GRANT ALTER ANY DATABASE TO ITDevAdmin WITH GRANT OPTION ;  
GRANT ALTER ANY DATABASE TO ITDevelopers AS ITDevAdmin ;  
GO  

Voir aussiSee Also

GRANT (Transact-SQL) GRANT (Transact-SQL)
DENY (Transact-SQL) DENY (Transact-SQL)
REFUSER des autorisations de serveur ( Transact-SQL ) DENY Server Permissions (Transact-SQL)
RÉVOQUER les autorisations de serveur ( Transact-SQL ) REVOKE Server Permissions (Transact-SQL)
Hiérarchie des autorisations (Moteur de base de données) Permissions Hierarchy (Database Engine)
Principaux (moteur de base de données) Principals (Database Engine)
Autorisations (moteur de base de données) Permissions (Database Engine)
sys.fn_builtin_permissions (Transact-SQL) sys.fn_builtin_permissions (Transact-SQL)
Sys.fn_my_permissions ( Transact-SQL ) sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)HAS_PERMS_BY_NAME (Transact-SQL)