ALTER ROLE (Transact-SQL)

Ajoute des membres à un rôle de base de données ou modifie le nom d'un rôle de base de données défini par l'utilisateur.

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

Syntaxe

ALTER ROLE role_name
{
      [ ADD MEMBER database_principal ]
    | [ DROP MEMBER database_principal ]
    | WITH NAME = new_name
}

Arguments

  • role_name
    Nom du rôle à modifier.

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

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

  • WITH NAME =new_name
    Spécifie le nouveau nom du rôle défini par l'utilisateur. Ce nom ne doit pas déjà exister dans la base de données. Vous ne pouvez pas modifier le nom des rôles de base de données fixes.

Notes

La modification du nom d'un rôle de base de données ne modifie pas le numéro d'identification, le propriétaire ou les autorisations du rôle.

Les rôles de base de données sont visibles dans les affichages catalogue sys.database_role_members et sys.database_principals.

AttentionAttention

Avec l'arrivée de SQL Server 2005, le comportement des schémas a changé. Ainsi, le code qui suppose que les schémas sont équivalents aux utilisateurs de base de données peut ne plus renvoyer des résultats corrects. Vous ne devez pas recourir aux anciens affichages catalogue, notamment sysobjects, dans une base de données où une des instructions DDL suivantes a été utilisée : CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. Dans ces bases de données, vous devez utiliser les nouveaux affichages catalogue. Les nouveaux affichages catalogue tiennent compte de la séparation des principaux et des schémas introduite dans SQL Server 2005 Pour plus d'informations sur les affichages catalogue, consultez Affichages catalogue (Transact-SQL).

Autorisations

ALTER ANY ROLE sur la base de données, ou ALTER sur le rôle, ou appartenance au rôle db_securityadmin. L'ajout de membres à des rôles de base de données fixe nécessite l'appartenance au rôle de base de données fixe db_owner.

Exemples

A.Modification du nom d'un rôle de base de données

L'exemple suivant remplace le nom du rôle buyers par purchasing.

USE AdventureWorks2012;
ALTER ROLE buyers WITH NAME = purchasing;
GO

B.Ajout et suppression de membres du rôle

L'exemple suivant crée un rôle nommé Sales, puis ajoute et supprime un utilisateur nommé Barry.

CREATE ROLE Sales;
ALTER ROLE Sales ADD MEMBER Barry;
ALTER ROLE Sales DROP MEMBER Barry;

Voir aussi

Référence

CREATE ROLE (Transact-SQL)

DROP ROLE (Transact-SQL)

sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

Concepts

Principaux (moteur de base de données)