ALTER ROLE (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric

Ajoute ou supprime des membres dans un rôle de base de données, ou change le nom d’un rôle de base de données défini par l’utilisateur.

Notes

Pour ajouter ou supprimer des rôles dans Azure Synapse Analytics ou Analytics Platform System (PDW), utilisez sp_addrolemember (Transact-SQL) et sp_droprolemember (Transact-SQL).

Conventions de la syntaxe Transact-SQL

Syntaxe

Syntaxe pour SQL Server (à partir de 2012), Azure SQL Managed Instance, Azure SQL Database et Microsoft Fabric.

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

Syntaxe pour SQL Server avant la version 2012.

-- Change the name of a user-defined database role  
ALTER ROLE role_name   
    WITH NAME = new_name  
[;]  

Arguments

role_name
S’applique à : SQL Server (à partir de 2008), Azure SQL Database, Azure SQL Managed Instance

Spécifie le rôle de base de données à changer.

ADD MEMBER principal_base_de_données
S’applique à : SQL Server (à partir de 2012), Azure SQL Database, Azure SQL Managed Instance

Indique que le principal de base de données doit être ajouté à l’appartenance à un rôle de base de données.

  • database_principal est un utilisateur de base de données ou un rôle de base de données défini par l’utilisateur.

  • database_principal ne peut être ni un rôle de base de données fixe, ni un principal de serveur.

DROP MEMBER database_principal
S’applique à : SQL Server (à partir de 2012), Azure SQL Database, Azure SQL Managed Instance

Indique qu’un principal de base de données doit être supprimé de l’appartenance à un rôle de base de données.

  • database_principal est un utilisateur de base de données ou un rôle de base de données défini par l’utilisateur.

  • database_principal ne peut être ni un rôle de base de données fixe, ni un principal de serveur.

WITH NAME = new_name
S’applique à : SQL Server (à partir de 2008), Azure SQL Database, Azure SQL Managed Instance

Indique que le nom d’un rôle serveur défini par l’utilisateur doit être changé. Le nouveau nom ne doit pas déjà exister dans la base de données.

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.

Autorisations

Pour exécuter cette commande, vous devez disposer d’une ou de plusieurs des autorisations ou appartenances suivantes :

  • Autorisation ALTER sur le rôle
  • Autorisation ALTER ANY ROLE sur la base de données
  • Appartenance au rôle de base de données fixe db_securityadmin

De plus, pour changer l’appartenance à un rôle de base de données fixe, vous devez disposer de ceci :

  • Appartenance au rôle de base de données fixe db_owner

Limitations et restrictions

Vous ne pouvez pas changer le nom d’un rôle de base de données fixe.

Métadonnées

Les vues système suivantes contiennent des informations sur les rôles de base de données et les principaux de base de données.

Exemples

R. Changer le nom d’un rôle de base de données

S’applique à : SQL Server (à partir de 2008), Azure SQL Database, Azure SQL Managed Instance

L'exemple suivant remplace le nom du rôle buyers par purchasing. Cet exemple peut être exécuté dans la base de données exemple AdventureWorks.

ALTER ROLE buyers WITH NAME = purchasing;  

B. Ajouter ou supprimer des membres d’un rôle

S’applique à : SQL Server (à partir de 2012), Azure SQL Database, Azure SQL Managed Instance

Cet exemple crée un rôle de base de données nommé Sales. Il ajoute un utilisateur de base de données nommé Barry à l’appartenance, puis montre comment supprimer le membre Barry. Cet exemple peut être exécuté dans la base de données exemple AdventureWorks.

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

C. Ajouter un membre de rôle à des rôles spéciaux pour Azure SQL Database

S’applique à : Azure SQL Database

Cet exemple crée une connexion SQL dans la base de données Master virtuelle ainsi qu’un utilisateur de base de données associé à cette connexion de serveur, et ajoute l’utilisateur de base de données comme membre du rôle spécial dbmanager. L’exemple autorise l’utilisateur à créer et supprimer des bases de données sur un serveur logique Azure SQL Database. Exécutez l’exemple sur la base de données Master virtuelle du serveur logique Azure SQL Database.

 CREATE LOGIN sqllogin_nlastname WITH password='aah3%#om1os';
    
 CREATE USER sqllogin_nlastname FOR LOGIN sqllogin_nlastname 
 WITH DEFAULT_SCHEMA = master;
    
 ALTER ROLE [dbmanager] add member sqllogin_nlastname;

Voir aussi

CREATE ROLE (Transact-SQL)
Principaux (moteur de base de données)
DROP ROLE (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)