sp_droprole (Transact-SQL)

S’applique à :SQL Server

Supprime un rôle de base de données de la base de données actuelle.

Important

Dans SQL Server 2005 (9.x), sp_droprole a été remplacé par l’instruction DROP ROLE. sp_droprole est inclus uniquement pour la compatibilité avec les versions antérieures de SQL Server et peut ne pas être pris en charge dans une version ultérieure.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_droprole [ @rolename = ] N'rolename'
[ ; ]

Arguments

[ @rolename = ] N’rolename'

Nom du rôle de base de données à supprimer de la base de données active. @rolename est sysname, sans valeur par défaut. @rolename doit déjà exister dans la base de données active.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

Seuls les rôles de base de données peuvent être supprimés à l’aide sp_droprolede .

Un rôle de base de données avec des membres existants ne peut pas être supprimé. Il faut supprimer tous les membres d'un rôle de base de données avant de supprimer ce rôle. Pour supprimer des utilisateurs d’un rôle, utilisez sp_droprolemember. Si des utilisateurs sont toujours membres du rôle, sp_droprole affiche ces membres.

Les rôles fixes et le rôle public ne peuvent pas être supprimés.

Un rôle ne peut pas être supprimé s’il possède des éléments sécurisables. Avant de supprimer un rôle d'application propriétaire d'éléments sécurisables, vous devez transférer la propriété de ces éléments sécurisables ou les supprimer. Permet ALTER AUTHORIZATION de modifier le propriétaire des objets qui ne doivent pas être supprimés.

sp_droprole ne peut pas être exécuté dans une transaction définie par l’utilisateur.

Autorisations

Nécessite CONTROL l’autorisation sur le rôle.

Exemples

L'exemple suivant supprime le rôle d'application Sales.

EXEC sp_droprole 'Sales';
GO