DROP ROLE (Transact-SQL)
Supprime un rôle de la base de données.
S'applique à : SQL Server (SQL Server 2008 via la version actuelle). |
Conventions de la syntaxe Transact-SQL
Syntaxe
DROP ROLE role_name
Arguments
- role_name
Spécifie le rôle à supprimer de la base de données.
Notes
Les rôles qui possèdent des éléments sécurisables ne peuvent pas être supprimés de la base de données. Pour supprimer un rôle de base de données qui possède des éléments sécurisables, vous devez tout d'abord transférer la propriété de ces éléments ou supprimer ces derniers de la base de données. Les rôles qui comprennent des membres ne peuvent pas être supprimés de la base de données. Pour supprimer un rôle qui comprend des membres, vous devez au préalable supprimer les membres du rôle.
Pour supprimer des membres d'un rôle de base de données, utilisez ALTER ROLE (Transact-SQL).
Vous ne pouvez pas utiliser DROP ROLE pour supprimer un rôle de base de données fixe.
Les informations sur l'appartenance au rôle peuvent être consultées dans l'affichage catalogue sys.database_role_members.
Avertissement
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).
Pour supprimer un rôle de serveur, utilisez DROP SERVER ROLE (Transact-SQL).
Autorisations
ALTER ANY ROLE sur la base de données, ou CONTOL sur le rôle, ou appartenance au rôle db_securityadmin.
Exemples
L'exemple suivant supprime le rôle de base de données purchasing dans AdventureWorks2012.
USE AdventureWorks2012;
DROP ROLE purchasing;
GO
Voir aussi
Référence
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Fonctions de sécurité (Transact-SQL)