sp_revokelogin (Transact-SQL)
适用范围:SQL Server
从使用 CREATE LOGIN
sp_grantlogin
、或sp_denylogin
创建的 Windows 用户或组的 SQL Server 中删除登录条目。
重要
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 DROP LOGIN 。
语法
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];