sp_revokedbaccess (Transact-SQL)

适用范围:SQL Server

从当前数据库中删除数据库用户。

重要

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 DROP USER

Transact-SQL 语法约定

语法

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

参数

[ @name_in_db = ] N'name_in_db'

要删除的数据库用户的名称。 @name_in_db为 sysname,没有默认值。 @name_in_db可以是服务器登录名、Windows 登录名或 Windows 组的名称,并且必须存在于当前数据库中。 指定 Windows 登录名或 Windows 组时,请指定数据库中已知的名称。

返回代码值

0(成功)或 1(失败)。

注解

删除数据库用户时,依赖于该用户的权限和别名也会删除。

sp_revokedbaccess 只能从当前数据库中删除数据库用户。 删除在当前数据库中拥有对象的数据库用户之前,您必须转移对象的所有权,或者将这些对象从数据库中删除。 有关详细信息,请参阅 ALTER AUTHORIZATION

sp_revokedbaccess 无法在用户定义的事务中执行。

权限

需要对数据库具有 ALTER ANY USER 权限。

示例

以下示例从当前数据库中删除映射到 Edmonds\LolanSo 的数据库用户。

EXEC sp_revokedbaccess 'Edmonds\LolanSo';
GO