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)