Rôles de niveau serveur

S’APPLIQUE À : SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse

SQL Server fournit des rôles au niveau du serveur pour vous aider à gérer les autorisations sur les serveurs. Ces rôles sont des principaux de sécurité qui regroupent d'autres principaux. Les autorisations des rôles serveur ont une portée à l'échelle du serveur. (Les rôles sont semblables aux groupes du système d’exploitation Microsoft Windows.)

Les rôles serveur fixes sont fournis pour des raisons de commodité et de compatibilité descendante. Attribuez des autorisations plus spécifiques chaque fois que cela est possible.

SQL Server fournit neuf rôles serveur fixes. Les autorisations accordées aux rôles serveur fixes (à l’exception de public) ne peuvent pas être changées. Depuis SQL Server 2012 (11.x), il est possible de créer des rôles serveur définis par l'utilisateur et de leur ajouter des autorisations au niveau du serveur.

Vous pouvez ajouter des principaux au niveau du serveur (connexionsSQL Server , comptes et groupes Windows) à des rôles serveur. Chaque membre d'un rôle serveur fixe peut ajouter des connexions à ce rôle. Les membres de rôles serveur définis par l'utilisateur ne peuvent pas ajouter d'autres principaux de serveur à ces rôles.

Notes

Les autorisations au niveau du serveur ne sont disponibles ni dans SQL Database ni Azure Synapse Analytics. Pour plus d’informations sur SQL Database, consultez Contrôle et octroi de l’accès à la base de données.

Rôles serveur fixes

Le tableau ci-dessous répertorie les rôles serveur fixes et leurs fonctionnalités.

Rôles serveur fixes Description
sysadmin Les membres du rôle serveur fixe sysadmin peuvent effectuer n’importe quelle activité sur le serveur.
serveradmin Les membres du rôle serveur fixe serveradmin peuvent modifier les options de configuration à l’échelle du serveur et arrêter le serveur.
securityadmin Les membres du rôle serveur fixe securityadmin gèrent les connexions et leurs propriétés. Ils peuvent attribuer des autorisations GRANT, DENY et REVOKE au niveau du serveur. Ils peuvent également attribuer des autorisations GRANT, DENY et REVOKE au niveau de la base de données, s’ils ont accès à une base de données. En outre, ils peuvent réinitialiser les mots de passe pour les connexions SQL Server .

IMPORTANT : La possibilité d'octroyer l'accès au Moteur de base de données et de configurer des autorisations utilisateur permet à l'administrateur de sécurité d'affecter la plupart des autorisations du serveur. Le rôle securityadmin doit être traité comme équivalent au rôle sysadmin .
processadmin Les membres du rôle serveur fixe processadmin peuvent mettre fin aux processus en cours d’exécution dans une instance de SQL Server.
setupadmin Les membres du rôle serveur fixe setupadmin peuvent ajouter et supprimer des serveurs liés à l’aide d’instructions Transact-SQL. (L’appartenance au rôle sysadmin est nécessaire pour utiliser Management Studio.)
bulkadmin Les membres du rôle serveur fixe bulkadmin peuvent exécuter l’instruction BULK INSERT.
diskadmin Le rôle serveur fixe diskadmin permet de gérer les fichiers disque.
dbcreator Les membres du rôle serveur fixe dbcreator peuvent créer, modifier, supprimer et restaurer n’importe quelle base de données.
public Chaque connexion SQL Server appartient au rôle serveur public. Lorsqu'un principal de serveur ne s'est pas vu accorder ou refuser des autorisations spécifiques sur un objet sécurisable, l'utilisateur hérite des autorisations accordées à public sur cet objet. Vous ne devez affecter des autorisations publiques à un objet que lorsque vous souhaitez que ce dernier soit disponible pour tous les utilisateurs. Vous ne pouvez pas modifier l’appartenance au rôle public.

Remarque : public est implémenté différemment des autres rôles. Les autorisations peuvent être accordées, refusées ou révoquées à partir des rôles serveur fixes public.

Important

La plupart des autorisations fournies par les rôles serveur suivants ne s’appliquent pas Synapse SQL - processadmin, serveradmin, setupadmin et diskadmin.

Autorisations des rôles serveur fixes

Certaines autorisations sont assignées à chaque rôle serveur fixe. Le graphique suivant présente les autorisations attribuées aux rôles serveur.
fixed_server_role_permissions

Important

L'autorisation CONTROL SERVER ressemble, mais n'est pas identique au rôle serveur fixe sysadmin . Les autorisations n'impliquent pas les appartenances au rôle et les appartenances au role n'accordent pas d'autorisation. (Par exemple, CONTROL SERVER n’implique pas l’appartenance au rôle serveur fixe sysadmin.) Cependant, il est parfois possible d'emprunter l'identité entre les rôles et les autorisations équivalentes. La plupart des commandes DBCC et de nombreuses procédures système exigent l'appartenance au rôle serveur fixe sysadmin . Pour découvrir la liste des 171 procédures stockées système qui nécessitent l’appartenance à sysadmin , consultez le billet de blog suivant d’Andreas Wolter : Comparaison entre CONTROL SERVER et sysadmin/sa : autorisations, procédures système, DBCC, création de schéma automatique et réaffectation de privilèges - avertissements.

Autorisations au niveau serveur

Seules des autorisations au niveau du serveur peuvent être ajoutées aux rôles serveur définis par l'utilisateur. Pour répertorier les autorisations au niveau du serveur, exécutez l'instruction suivante. Les autorisations au niveau du serveur sont :

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;  

Pour plus d’informations sur les autorisations, consultez Autorisations (moteur de base de données) et sys.fn_builtin_permissions (Transact-SQL).

Utilisation des rôles au niveau du serveur

Le tableau ci-dessous explique les commandes, vues et fonctions permettant d'utiliser les rôles serveur.

Fonctionnalité Type Description
sp_helpsrvrole (Transact-SQL) Métadonnées Retourne la liste des rôles au niveau du serveur.
sp_helpsrvrolemember (Transact-SQL) Métadonnées Retourne des informations sur les membres d'un rôle au niveau du serveur.
sp_srvrolepermission (Transact-SQL) Métadonnées Affiche les autorisations d'un rôle au niveau du serveur.
IS_SRVROLEMEMBER (Transact-SQL) Métadonnées Indique si une connexion SQL Server est un membre du rôle au niveau du serveur spécifié.
sys.server_role_members (Transact-SQL) Métadonnées Retourne une ligne pour chaque membre de chaque rôle serveur.
sp_addsrvrolemember (Transact-SQL) Commande Ajoute une connexion en tant que membre d'un rôle serveur. Action déconseillée. Utilisez plutôt ALTER SERVER ROLE .
sp_dropsrvrolemember (Transact-SQL) Commande Supprime une connexion SQL Server ou un utilisateur ou un groupe Windows d'un rôle serveur. Action déconseillée. Utilisez plutôt ALTER SERVER ROLE .
CREATE SERVER ROLE (Transact-SQL) Commande Crée un rôle serveur défini par l'utilisateur.
ALTER SERVER ROLE (Transact-SQL) Commande Modifie l'appartenance d'un rôle serveur ou modifie le nom d'un rôle serveur défini par l'utilisateur.
DROP SERVER ROLE (Transact-SQL) Commande Supprime un rôle de serveur défini par l'utilisateur.
IS_SRVROLEMEMBER (Transact-SQL) Fonction Détermine l'appartenance du rôle serveur.

Voir aussi

Rôles au niveau de la base de données
Affichages catalogue de sécurité (Transact-SQL)
Fonctions de sécurité (Transact-SQL)
Sécurisation de SQL Server
Autorisations du principal du serveur GRANT (Transact-SQL)
Autorisations du principal du serveur REVOKE (Transact-SQL)
Autorisations du principal du serveur DENY (Transact-SQL)
Créer un rôle serveur