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.
S'applique à : SQL Server (SQL Server 2012 via la version actuelle). |
Conventions de 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.
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 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.
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
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)
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)