sp_dropuser (Transact-SQL)

適用範圍: 是SQL Server (所有支援的版本)

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

重要

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

主題連結圖示 Transact-SQL 語法慣例

語法

  
sp_dropuser [ @name_in_db = ] 'user'  

引數

[ @name_in_db = ] 'user' 這是要移除之使用者的名稱。 使用者sysname,沒有預設值。 使用者 必須存在於目前的資料庫中。 在指定 Windows 登入時,請使用該登入在資料庫所用的名稱。

傳回碼值

0 (成功) 或 1 (失敗)

備註

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

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

移除資料庫使用者時,也會一併移除該使用者的任何別名。 如果該使用者擁有與該使用者同名的空結構描述,則會卸除結構描述。 如果該使用者擁有資料庫中任何其他安全性實體,則不會卸除使用者。 物件的擁有權必須先傳送到另一個主體。 如需詳細資訊,請參閱 ALTER AUTHORIZATION (Transact-SQL)。 移除資料庫使用者時,也會自動移除與該使用者相關聯的權限,並且從它所屬的任何資料庫角色移除該使用者。

sp_dropuser 不能用來從 mastertempdb 資料庫移除資料庫擁有者 (dbo) INFORMATION_SCHEMA 使用者或 來賓 使用者。 在非系統資料庫中, EXEC sp_dropuser 'guest' 將會撤銷使用者 來賓 的 CONNECT 許可權。 但是使用者本身不會被卸除。

sp_dropuser 無法在使用者自訂交易內執行。

權限

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

範例

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

EXEC sp_dropuser 'Albert';  
GO  

另請參閱

安全性預存程序 (Transact-SQL)
sp_grantdbaccess (Transact-SQL)
DROP USER (Transact-SQL)
sp_revokedbaccess (Transact-SQL)
系統預存程序 (Transact-SQL)