GRANT – octroi d'autorisations d'entité de sécurité de serveur (Transact-SQL)

Permet d'accorder des autorisations sur une connexion SQL Server.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

GRANT permission [ ,...n ] } 
    ON LOGIN :: SQL_Server_login
        TO <server_principal> [ ,...n ]
    [ WITH GRANT OPTION ]
    [ AS SQL_Server_login ] 

<server_principal> ::= 
        SQL_Server_login
    | SQL_Server_login_from_Windows_login 
    | SQL_Server_login_from_certificate 
    | SQL_Server_login_from_AsymKey

Arguments

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

  • LOGIN :: SQL_Server_login
    Spécifie la connexion SQL Server sur laquelle l'autorisation doit être accordée. L'identificateur d'étendue (::) est requis.

  • TO <entité_de_sécurité_de_serveur>
    Spécifie la connexion SQL Server pour laquelle l'autorisation doit être accordée.

  • SQL_Server_login
    Spécifie le nom d'une connexion SQL Server.

  • SQL_Server_login_from_Windows_login
    Spécifie le nom d'une connexion SQL Server créée à partir d'une connexion Windows.

  • SQL_Server_login_from_certificate
    Spécifie le nom d'une connexion SQL Server mappée sur un certificat.

  • SQL_Server_login_from_AsymKey
    Spécifie le nom d'une connexion SQL Server mappée sur une clé asymétrique.

  • WITH GRANT OPTION
    Indique que l'entité de sécurité sera également en mesure d'accorder l'autorisation spécifiée à d'autres entités de sécurité.

  • AS SQL_Server_login
    Spécifie la connexion SQL Server à partir de laquelle l'entité de sécurité qui exécute cette requête dérive son droit d'accorder l'autorisation.

Notes

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

Des informations sur les autorisations de serveur sont consultables dans l'affichage catalogue sys.server_permissions. Des informations sur les entités de sécurité de serveur sont consultables dans l'affichage catalogue sys.server_principals.

Une connexion SQL Server est un sécurisable au niveau serveur. Les autorisations les plus spécifiques et limitées qu'il est possible d'accorder sur une connexion SQL Server sont répertoriées dans le tableau ci-dessous, avec les autorisations plus générales qui les incluent de manière implicite.

Autorisation de connexion SQL Server

Déduite d'une autorisation de connexion SQL Server

Déduite d'une autorisation de serveur

CONTROL

CONTROL

CONTROL SERVER

IMPERSONATE

CONTROL

CONTROL SERVER

VIEW DEFINITION

CONTROL

VIEW ANY DEFINITION

ALTER

CONTROL

ALTER ANY LOGIN

Autorisations

Requiert l'autorisation CONTROL sur la connexion ou l'autorisation ALTER ANY LOGIN sur le serveur.

Exemples

A. Octroi d'une autorisation IMPERSONATE sur une connexion

Dans l'exemple ci-dessous, l'autorisation IMPERSONATE sur la connexion SQL ServerWanidaBenshoof est accordée à une connexion SQL Server créée à partir de l'utilisateur Windows AdvWorks\YoonM.

USE master;
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];
GO

B. Octroi d'une autorisation VIEW DEFINITION avec l'option GRANT OPTION

Dans l'exemple ci-dessous, l'autorisation VIEW DEFINITION sur la connexion SQL ServerEricKurjan est accordée à la connexion SQL ServerRMeyyappan avec l'option GRANT OPTION.

USE master;
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan 
    WITH GRANT OPTION;
GO