sp_dropuser (Transact-SQL)

S’applique à :SQL Server

Supprime un utilisateur de base de données de la base de données active. sp_dropuser assure la compatibilité avec les versions antérieures de SQL Server.

Important

Cette fonctionnalité sera supprimée dans une version future de 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 DROP USER à la place.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_dropuser [ @name_in_db = ] N'name_in_db'
[ ; ]

Arguments

[ @name_in_db = ] N’name_in_db'

Nom de l’utilisateur à supprimer. @name_in_db est sysname, sans valeur par défaut. @name_in_db doit exister dans la base de données active. Lorsque vous spécifiez un compte Windows, utilisez le nom par lequel la base de données connaît ce compte.

Valeurs des codes de retour

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

Notes

sp_dropusersp_revokedbaccess s’exécute pour supprimer l’utilisateur de la base de données active.

Permet sp_helpuser d’afficher la liste des noms d’utilisateurs qui peuvent être supprimés de 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 portant le même nom que l’utilisateur, le schéma est supprimé. Si l’utilisateur possède d’autres éléments sécurisables dans la base de données, l’utilisateur n’est pas supprimé. La propriété des objets doit être auparavant transmise à un autre principal. Pour plus d’informations, consultez ALTER AUTHORIZATION (Transact-SQL). La suppression d’un utilisateur de base de données supprime automatiquement les autorisations associées à cet utilisateur et supprime l’utilisateur des rôles de base de données dont il est membre.

sp_dropuserne peut pas être utilisé pour supprimer les utilisateurs propriétaires de base de données (dbo), INFORMATION_SCHEMA ou l’utilisateur invité des bases de données ou tempdb des masterbases de données. Dans les bases de données non système, EXEC sp_dropuser 'guest' révoque l’autorisation CONNECT de l’invité de l’utilisateur, mais l’utilisateur lui-même n’est pas supprimé.

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

Autorisations

Requiert 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