sp_dropuser (Transact-SQL)
Supprime un utilisateur de base de données active. sp_dropuser offre la compatibilité avec les versions antérieures de SQL Server.
Important
Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt DROP USER.
Syntaxe
sp_dropuser [ @name_in_db = ] 'user'
Arguments
- [ @name_in_db = ] 'user'
Nom de l'utilisateur à supprimer. user est de type sysname sans valeur par défaut. user doit exister dans la base de données active. Lorsque vous spécifiez une connexion Windows, utilisez le nom sous lequel la base de données connaît cette connexion.
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Notes
sp_dropuser exécute sp_revokedbaccess pour supprimer l'utilisateur dans la base de données active.
Utilisez sp_helpuser pour afficher la liste des noms d'utilisateur pouvant être supprimés dans la base de données active.
Lorsqu'un utilisateur de base de données est supprimé, les alias affectés à cet utilisateur sont également supprimés. Si l'utilisateur possède un schéma vide dont le nom est identique à celui de l'utilisateur, le schéma est supprimé. Si l'utilisateur possède d'autres éléments sécurisables dans la base de données, il n'est pas supprimé. La propriété des objets doit être auparavant transmise à une autre entité de sécurité. Pour plus d'informations, consultez ALTER AUTHORIZATION (Transact-SQL). La suppression d'un utilisateur de base de données entraîne également la suppression automatique des autorisations associées à cet utilisateur ainsi que tous les rôles de base de données dont l'utilisateur est membre.
Il n'est pas possible d'utiliser sp_dropuser pour supprimer les utilisateurs du propriétaire de base de données (dbo) INFORMATION_SCHEMA ou l'utilisateur guest des bases de données master ou tempdb. Dans les bases de données non système, EXEC sp_dropuser 'guest' révoque l'autorisation CONNECT de l'utilisateur guest. Cependant, l'utilisateur lui-même n'est pas supprimé.
Il n'est pas possible d'exécuter sp_dropuser dans une transaction définie par l'utilisateur.
Autorisations
Nécessite l'autorisation ALTER ANY USER sur la base de données.
Exemples
Le code exemple suivant supprime l'utilisateur Albert de la base de données active.
EXEC sp_dropuser 'Albert';
GO