sp_revokelogin (Transact-SQL)

适用于:SQL Server

从使用 CREATE LOGIN、 sp_grantloginsp_denylogin创建的 Windows 用户或组的 SQL Server 中删除登录条目。

重要

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

Transact-SQL 语法约定

语法

  
sp_revokelogin [ @loginame= ] 'login'  

参数

[ @loginame = ] 'login' Windows 用户或组的名称。 loginsysname,没有默认值。 登录可以是计算机名\用户或域\用户形式的任何现有 Windows 用户名或组。

返回代码值

0(成功)或 1(失败)

注解

sp_revokelogin使用登录参数指定的帐户禁用连接。 但是,通过 Windows 组中的成员身份授予对 SQL Server 实例的访问权限的 Windows 用户仍然可以在撤消其个人访问权限后作为组进行连接。 同样,如果 登录 参数指定 Windows 组的名称,则已单独授予对 SQL Server 实例的访问权限的该组的成员仍能够连接。

例如,如果 Windows 用户 ADVWORKS\john 是 Windows 组 ADVWORKS\管理员 的成员,并且sp_revokelogin撤消以下项的访问权限ADVWORKS\john

sp_revokelogin [ADVWORKS\john]  

如果已向 ADVWORKS\管理员授予对 SQL Server 实例的访问权限,则用户 ADVWORKS\john 仍可以连接。 同样,如果 Windows 组 ADVWORKS\管理员已撤销其访问权限,但 ADVWORKS\john 被授予访问权限,ADVWORKS\john 仍可以连接。

使用 sp_denylogin 显式阻止用户连接到 SQL Server 实例,而不考虑其 Windows 组成员身份。

不能在用户定义的事务中执行sp_revokelogin

权限

要求对服务器拥有 ALTER ANY LOGIN 权限。

示例

以下示例删除 Windows 用户的 Corporate\MollyA登录条目。

EXEC sp_revokelogin 'Corporate\MollyA';  

EXEC sp_revokelogin [Corporate\MollyA];  

另请参阅

安全存储过程 (Transact-SQL)
DROP LOGIN (Transact-SQL)
sp_denylogin (Transact-SQL)
sp_droplogin (Transact-SQL)
sp_grantlogin (Transact-SQL)
系统存储过程 (Transact-SQL)