DROP ROLE (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Supprime un rôle de la base de données.
Conventions de la syntaxe Transact-SQL
Syntaxe
-- Syntax for SQL Server
DROP ROLE [ IF EXISTS ] role_name
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
DROP ROLE role_name
Arguments
IF EXISTS
S’applique à: SQL Server (de SQL Server 2016 (13.x) à la version actuelle).
Supprime, de manière conditionnelle, le rôle uniquement s’il existe déjà.
role_name
Spécifie le rôle à supprimer de la base de données.
Remarques
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.
Vous pouvez consulter les informations relatives aux membres des rôles dans la vue de catalogue sys.database_role_members.
Attention
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 serveur, utilisez DROP SERVER ROLE (Transact-SQL).
Autorisations
Nécessite l’autorisation ALTER ANY ROLE sur la base de données, ou l’autorisation CONTROL sur le rôle, ou l’appartenance au rôle db_securityadmin.
Exemples
L’exemple suivant supprime le rôle de base de données purchasing
de la base de données AdventureWorks2022
.
DROP ROLE purchasing;
GO
Voir aussi
CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL)
Principaux (moteur de base de données)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Fonctions de sécurité (Transact-SQL)