共用方式為


sp_revokelogin (Transact-SQL)

適用於:SQL Server

從使用 CREATE LOGINsp_grantloginsp_denylogin所建立之 Windows 使用者或群組的 SQL Server 移除登入專案。

重要

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 DROP LOGIN

Transact-SQL 語法慣例

語法

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存取權:

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';

Or

EXEC sp_revokelogin [Corporate\MollyA];