Transact-SQL 参考

sp_dropuser

从当前数据库中删除 Microsoft® SQL Server™ 用户或 Microsoft Windows NT® 用户。提供 sp_dropuser 是为了向后兼容。使用 sp_revokedbaccess 删除用户。

语法

sp_dropuser [ @name_in_db = ] 'user'

参数

[@name_in_db =] 'user'

将要被删除的用户的名称。user 的数据类型为 sysname,没有默认值。user 必须已经存在于当前的数据库中。当指定 Windows NT 用户时,请指定该 Windows NT 用户在数据库中可被识别的名称(用 sp_grantdbaccess 添加)。

返回代码值

0(成功)或 1(失败)

注释

sp_dropuser 执行 sp_revokedbaccess 以从当前数据库中删除用户。

使用 sp_helpuser 可以显示一个用户名的列表,可以将这些用户名从当前数据库中删除。

当删除某个用户的安全帐户时,也就删除了该用户的所有别名。如果某个用户在数据库中拥有任意对象,那么就不能删除该用户。必须使用 sp_changeobjectowner 将对象的所有关系更改到另一用户。删除用户时,也就自动地删除与该用户相关的权限,并且将这些相关的权限从该用户所在的任何角色中删除。

不能使用 sp_dropuser 删除 dboINFORMATION_SCHEMA 用户,也不能从 mastertempdb 数据库中删除 guest 用户。

不能从用户定义的事务内执行 sp_dropuser

权限

只有 sysadmin 固定服务器角色、db_owner db_accessadmin 固定数据库角色的成员才能执行 sp_dropuser

示例

下面的示例从当前数据库删除用户 Albert

EXEC sp_dropuser 'Albert'

请参见

sp_grantdbaccess

sp_revokedbaccess

系统存储过程