ALTER SERVER ROLE (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)

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

Conventions de la syntaxe Transact-SQL

Syntaxe

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Managed Instance
  
ALTER SERVER ROLE server_role_name   
{  
    [ ADD MEMBER server_principal ]  
  | [ DROP MEMBER server_principal ]  
  | [ WITH NAME = new_server_role_name ]  
} [ ; ]  
-- Syntax for Parallel Data Warehouse  
  
ALTER SERVER ROLE  server_role_name  ADD MEMBER login;  
  
ALTER SERVER ROLE  server_role_name  DROP MEMBER login;  

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 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 ou un administrateur système.

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 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 ou un administrateur système.

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 modifier 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_role_members et sys.server_principals.

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

Dans Azure SQL Database, ALTER SERVER ROLE doit être exécutée dans la master base de données.

Autorisations

Nécessite l’autorisation ALTER ANY SERVER ROLE sur le serveur pour changer le nom d’un rôle 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.

Notes

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 serveur défini par l’utilisateur, vous devez être membre du rôle serveur fixe sysadmin, ou disposer de l’autorisationCONTROL SERVER ou ALTER ANY SERVER ROLE. Sinon, vous devez disposer de l’autorisation ALTER sur ce rôle.

Notes

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

R. Modifier le 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. Ajouter un compte de domaine à un rôle de serveur

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

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

C. Ajouter un compte de connexion SQL Server à un rôle de serveur

L’exemple suivant ajoute un compte de connexion SQL Server nommé Ted au rôle serveur fixe diskadmin.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;  
GO  

D. Supprimer 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 serveur défini par l’utilisateur nommé Production.

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

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

L’exemple suivant supprime le compte de connexion SQL ServerTed du rôle serveur fixe diskadmin.

ALTER SERVER ROLE Production DROP MEMBER Ted ;  
GO  

F. Octroyer à un compte de connexion 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. Afficher l’appartenance au 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  

Exemples : Analytics Platform System (PDW)

H. Ajouter un membre à un rôle de serveur

L’exemple suivant ajoute le compte de connexion Anna au rôle serveur LargeRC.

ALTER SERVER ROLE LargeRC ADD MEMBER Anna;  

I. Supprimer un compte de connexion d’une classe de ressources

L’exemple suivant supprime l’appartenance d’Anna au rôle serveur LargeRC.

ALTER SERVER ROLE LargeRC DROP MEMBER Anna;  

Étapes suivantes