Partager via


sp_droprole (Transact-SQL)

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

Important

Dans SQL Server 2005, sp_droprole a été remplacée par l'instruction DROP ROLE. sp_droprole n'est fournie que pour assurer la compatibilité avec les versions précédentes de SQL Server et risque de ne plus être prise en charge dans une version future.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_droprole [ @rolename= ] 'role'

Arguments

  • [ @rolename = ] 'role'
    Nom de rôle de base de données à supprimer de la base de données active. role est de type sysname, sans valeur par défaut. role doit déjà exister dans la base de données active.

Valeurs des codes renvoyés

0 (succès) ou 1 (échec)

Notes

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

Il est impossible de supprimer un rôle de base de données s'il possède des membres. 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 les affiche.

Il est impossible de supprimer les rôles fixes et le rôle public.

Il n'est pas possible de supprimer un rôle s'il est propriétaire d'éléments sécurisables. Avant de supprimer un rôle de base de données possédant des éléments sécurisables, vous devez d'abord transférer la propriété de ces éléments, ou les supprimer. Utilisez ALTER AUTHORIZATION pour changer le propriétaire des objets qui ne doivent pas être supprimés.

La procédure sp_droprole ne peut pas être exécutée dans une transaction définie par l'utilisateur.

Autorisations

Il faut avoir l'autorisation CONTROL sur le rôle.

Exemple

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

EXEC sp_droprole 'Sales';
GO