sp_revokelogin (Transact-SQL)
适用于:SQL Server
从使用 CREATE LOGIN、 sp_grantlogin 或 sp_denylogin创建的 Windows 用户或组的 SQL Server 中删除登录条目。
重要
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 DROP LOGIN 。
语法
sp_revokelogin [ @loginame= ] 'login'
参数
[ @loginame = ] 'login'
Windows 用户或组的名称。 login 为 sysname,没有默认值。 登录可以是计算机名\用户或域\用户形式的任何现有 Windows 用户名或组。
返回代码值
0(成功)或 1(失败)
注解
sp_revokelogin使用登录参数指定的帐户禁用连接。 但是,通过 Windows 组中的成员身份授予对 SQL Server 实例的访问权限的 Windows 用户仍然可以在撤消其个人访问权限后作为组进行连接。 同样,如果 登录 参数指定 Windows 组的名称,则已单独授予对 SQL Server 实例的访问权限的该组的成员仍能够连接。
例如,如果 Windows 用户 ADVWORKS\john 是 Windows 组 ADVWORKS\Admins 的成员,并且 sp_revokelogin 撤消以下项的访问权限 ADVWORKS\john
:
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];
另请参阅
安全存储过程 (Transact-SQL)
DROP LOGIN (Transact-SQL)
sp_denylogin (Transact-SQL)
sp_droplogin (Transact-SQL)
sp_grantlogin (Transact-SQL)
系统存储过程 (Transact-SQL)