分享方式:


sp_dropuser (Transact-SQL)

適用於:SQL Server

從目前資料庫移除資料庫使用者。 sp_dropuser 提供與舊版 SQL Server 的相容性。

重要

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

Transact-SQL 語法慣例

語法

sp_dropuser [ @name_in_db = ] N'name_in_db'
[ ; ]

引數

[ @name_in_db = ] N'name_in_db'

要移除的使用者名稱。 @name_in_db為 sysname,沒有預設值。 @name_in_db必須存在於目前的資料庫中。 指定 Windows 帳戶時,請使用資料庫知道該帳戶的名稱。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

sp_dropusersp_revokedbaccess會執行 以從目前資料庫移除使用者。

用來 sp_helpuser 顯示可從目前資料庫移除的用戶名稱清單。

拿掉資料庫使用者時,也會移除該使用者的任何別名。 如果使用者擁有與使用者同名的空白架構,則會卸除架構。 如果使用者擁有資料庫中的任何其他安全性實體,則不會卸除使用者。 對象的擁有權必須先傳送至另一個主體。 如需詳細資訊,請參閱 ALTER AUTHORIZATION。 拿掉資料庫用戶會自動移除與該使用者相關聯的許可權,並從屬於該使用者的任何資料庫角色中移除使用者。

sp_dropuser無法用來從或資料庫移除資料庫擁有者 (dboINFORMATION_SCHEMA 使用者或來賓使用者mastertempdb 在非系統資料庫中, EXEC sp_dropuser 'guest' 撤銷 CONNECT 用戶 來賓的許可權,但不會捨棄使用者本身。

sp_dropuser 無法在使用者定義的交易內執行。

權限

需要資料庫的 ALTER ANY USER 權限。

範例

下列範例會從目前的資料庫移除使用者 Albert

EXEC sp_dropuser 'Albert';
GO