从 Microsoft® SQL Server™ 中删除用 sp_grantlogin 或 sp_denylogin 创建的 Microsoft Windows NT® 用户或组的登录项。
sp_revokelogin [ @loginame = ] 'login'
[@loginame =] 'login'
是 Windows NT 用户或组的名称。login 为 sysname 类型,无默认值。login 可以是 Domain\User 形式的任何现有 Windows NT 用户名或组。
0(成功)或 1(失败)
sp_revokelogin 并不显式禁止 Windows NT 用户连接到 SQL Server,但禁止 Windows NT 用户通过其 Windows NT 用户帐户进行连接。但是,如果他们是 Windows NT 组的成员,且该组由 sp_grantlogin 存储过程授予了对 SQL Server 的访问权限,则该 Windows NT 用户仍然可以连接 SQL Server。例如,如果 Windows NT 用户 REDMOND\john 是 Windows NT 组 REDMOND\Admins 的成员,且用以下命令废除了 REDMOND\john 的访问权:
sp_revokelogin [REDMOND\john]
如果授权 REDMOND\Admins 访问,那么 REDMOND\john 仍可连接。同样,如果废除了 REDMOND\Admins 访问权但授权 REDMOND\john 访问,那么 REDMOND\john 仍可连接。
使用 sp_denylogin 可显式禁止用户连接到 SQL Server,而不论其 Windows NT 组成员资格如何。
使用 sp_droplogin 可删除用 sp_addlogin 添加的 SQL Server 登录。
在用户定义事务内部不能执行 sp_revokelogin。
只有 sysadmin 或 securityadmin 固定服务器角色的成员才能执行 sp_revokelogin。
下例删除 Windows NT 用户 Corporate\MollyA 的登录条目。
EXEC sp_revokelogin 'Corporate\MollyA'
或
EXEC sp_revokelogin [Corporate\MollyA]