Partager via


ALTER SERVER ROLE (Transact-SQL)

Modifie l'appartenance d'un rôle de serveur ou modifie le nom d'un rôle de serveur défini par l'utilisateur. Les rôles serveur fixes ne peuvent pas être renommés.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

ALTER SERVER ROLE server_role_name 
{
    [ ADD MEMBER server_principal ]
  | [ DROP MEMBER server_principal ]
  | [ WITH NAME = new_server_role_name ]
} [ ; ]

Arguments

  • server_role_name
    Nom du rôle de serveur à modifier.

  • ADD MEMBER server_principal
    Ajoute le principal de serveur spécifié au rôle de serveur. server_principal peut être un compte de connexion ou un rôle de serveur défini par l'utilisateur. server_principal ne peut pas être un rôle serveur fixe, un rôle de base de données ni sa.

  • DROP MEMBER server_principal
    Supprime le principal de serveur spécifié du rôle de serveur. server_principal peut être un compte de connexion ou un rôle de serveur défini par l'utilisateur. server_principal ne peut pas être un rôle serveur fixe, un rôle de base de données ni sa.

  • WITH NAME **=**new_server_role_name
    Spécifie le nouveau nom du rôle de serveur défini par l'utilisateur. Ce nom ne peut pas déjà exister dans le serveur.

Notes

La modification du nom d'un rôle de serveur défini par l'utilisateur ne modifie pas le numéro d'identification, le propriétaire ou les autorisations du rôle.

Pour la modification de l'appartenance au rôle, ALTER SERVER ROLE remplace sp_addsrvrolemember et sp_dropsrvrolemember. Ces procédures stockées sont déconseillées.

Vous pouvez consulter des rôles de serveur en interrogeant les affichages catalogue sys.server_principals et sys.server_role_members.

Pour modifier le propriétaire d'un rôle de serveur défini par l'utilisateur, utilisez ALTER AUTHORIZATION (Transact-SQL).

Autorisations

Nécessite l'autorisation ALTER ANY SERVER ROLE sur le serveur pour modifier le nom d'un rôle de serveur défini par l'utilisateur.

Rôles serveur fixes

Pour ajouter un membre à un rôle serveur fixe, vous devez être membre de ce rôle serveur fixe ou du rôle serveur fixe sysadmin.

[!REMARQUE]

Les autorisations CONTROL SERVER et ALTER ANY SERVER ROLE ne sont pas suffisantes pour exécuter ALTER SERVER ROLE pour un rôle serveur fixe, et l'autorisation ALTER ne peut pas être accordée sur un rôle serveur fixe.

Rôles de serveur définis par l'utilisateur

Pour ajouter un membre à un rôle de serveur défini par l'utilisateur, vous devez être membre du rôle serveur fixe sysadmin ou disposer de l'autorisation CONTROL SERVER ou ALTER ANY SERVER ROLE. Sinon, vous devez disposer de l'autorisation ALTER sur ce rôle.

[!REMARQUE]

Contrairement aux rôles serveur fixes, les membres d'un rôle de serveur défini par l'utilisateur n'ont pas intrinsèquement l'autorisation d'ajouter des membres à ce même rôle.

Exemples

A.Modification du nom d'un rôle de serveur

L'exemple suivant crée un rôle de serveur nommé Product, puis modifie le nom du rôle de serveur en Production.

CREATE SERVER ROLE Product ;
ALTER SERVER ROLE Product WITH NAME = Production ;
GO

B.Ajout d'un compte de domaine à un rôle de serveur

L'exemple suivant ajoute un compte de domaine nommé adventure-works\roberto0 au rôle de serveur défini par l'utilisateur nommé Production.

ALTER SERVER ROLE Production ADD MEMBER [adventure-works\roberto0] ;

C.Ajout d'un compte de connexion SQL Server à un rôle de serveur

L'exemple suivant ajoute un SQL Servercompte de connexion nommé Ted au rôle serveur fixe diskadmin.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;
GO

D.Suppression d'un compte de domaine d'un rôle de serveur

L'exemple suivant supprime un compte de domaine nommé adventure-works\roberto0 du rôle de serveur défini par l'utilisateur nommé Production.

ALTER SERVER ROLE Production DROP MEMBER [adventure-works\roberto0] ;

E.Suppression d'un compte de connexion SQL Server d'un rôle de serveur

L'exemple suivant supprime le SQL Servercompte de connexion  Ted du rôle serveur fixe diskadmin.

ALTER SERVER ROLE Production DROP MEMBER Ted ;
GO

F.Octroi à un compte de connexion de l'autorisation d'ajouter des comptes de connexion à un rôle de serveur défini par l'utilisateur

L'exemple suivant permet à Ted d'ajouter d'autres comptes de connexion au rôle de serveur défini par l'utilisateur nommé Production.

GRANT ALTER ON SERVER ROLE::Production TO Ted ;
GO

G.Pour consulter l'appartenance à un rôle

Pour afficher l'appartenance à un rôle, utilisez la page Rôle serveur (Membres) dans SQL Server Management Studio ou exécutez la requête suivante :

SELECT SRM.role_principal_id, SP.name AS Role_Name, 
SRM.member_principal_id, SP2.name  AS Member_Name
FROM sys.server_role_members AS SRM
JOIN sys.server_principals AS SP
    ON SRM.Role_principal_id = SP.principal_id
JOIN sys.server_principals AS SP2 
    ON SRM.member_principal_id = SP2.principal_id
ORDER BY  SP.name,  SP2.name

Voir aussi

Référence

CREATE SERVER ROLE (Transact-SQL)

DROP SERVER ROLE (Transact-SQL)

CREATE ROLE (Transact-SQL)

ALTER ROLE (Transact-SQL)

DROP ROLE (Transact-SQL)

Procédures stockées liées à la sécurité (Transact-SQL)

Fonctions de sécurité (Transact-SQL)

sys.server_role_members (Transact-SQL)

sys.server_principals (Transact-SQL)

Concepts

Principaux (moteur de base de données)