sp_revokelogin (Transact-SQL)
從 SQL Server 中移除使用 CREATE LOGIN、sp_grantlogin 或 sp_denylogin 建立之 Windows 使用者或群組的登入項目。
重要事項 |
---|
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。請改用 DROP LOGIN。 |
語法
sp_revokelogin [ @loginame= ] 'login'
引數
- [ @loginame=] 'login'
這是 Windows 使用者或群組的名稱。login 是 sysname,且沒有預設值。login 可以是任何現有的 Windows 使用者名稱或群組,其格式為 電腦名稱\使用者或網域\使用者。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_revokelogin 會停用以 login 參數指定之帳戶的連接。但是在撤銷其個別存取權之後,透過 Windows 群組成員資格獲得 SQL Server 執行個體存取權的 Windows 使用者仍然可以用群組方式進行連接。相同地,如果 login 參數指定了 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]