適用於: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>或 中任何現有的 Windows 使用者名稱或<Domain>\<User>群組。
傳回碼值
0 (成功) 或 1 (失敗)。
備註
sp_revokelogin使用@loginame指定的帳戶停用連線。 透過 Windows 群組成員資格授與 SQL Server 實例存取權的 Windows 使用者,在撤銷其個別存取權之後,仍可連線為群組。 同樣地,如果 @loginame 指定 Windows 群組的名稱,則已個別授與 SQL Server 實例之存取權的該群組成員仍然可以連線。
例如,如果 Windows 使用者 ADVWORKS\john 是 Windows 群組 ADVWORKS\Admins的成員,並 sp_revokelogin 撤銷的 ADVWORKS\john存取權:
EXECUTE 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登入專案。
EXECUTE sp_revokelogin 'Corporate\MollyA';
Or
EXECUTE sp_revokelogin [Corporate\MollyA];