sp_revokelogin (Transact-SQL)

适用范围:SQL Server

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

重要

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

Transact-SQL 语法约定

语法

sp_revokelogin [ @loginame = ] N'loginame'
[ ; ]

参数

[ @loginame = ] N'loginame'

Windows 用户或组的名称。 @loginame为 sysname,无默认值。 @loginame可以是窗体或窗体<ComputerName>\<User><Domain>\<User>中的任何现有 Windows 用户名或组。

返回代码值

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

注解

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

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

EXEC sp_revokelogin [ADVWORKS\john]

如果ADVWORKS\Admins授予对 SQL Server 实例的访问权限,用户ADVWORKS\john仍可以连接。 同样,如果 Windows 组 ADVWORKS\Admins 已撤销其访问权限但 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];