sp_dropuser (Transact-SQL)
從目前資料庫移除資料庫使用者。提供 sp_dropuser 的目的,是為了與舊版 SQL Server 相容。
重要事項 |
---|
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 DROP USER。 |
語法
sp_dropuser [ @name_in_db = ] 'user'
引數
- [ @name_in_db=] 'user'
這是要移除的使用者名稱。user 是 sysname,沒有預設值。user 必須存在於目前資料庫中。在指定 Windows 登入時,請使用該登入在資料庫所用的名稱。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_dropuser 會執行 sp_revokedbaccess,從目前資料庫移除使用者。
請使用 sp_helpuser 來顯示可從目前資料庫移除的使用者名稱清單。
移除資料庫使用者時,也會一併移除該使用者的任何別名。如果該使用者擁有與該使用者同名的空結構描述,則會卸除結構描述。如果該使用者擁有資料庫中任何其他安全性實體,則不會卸除使用者。物件的擁有權必須先傳送到另一個主體。如需詳細資訊,請參閱<ALTER AUTHORIZATION (Transact-SQL)>。移除資料庫使用者時,也會自動移除與該使用者相關聯的權限,並且從它所屬的任何資料庫角色移除該使用者。
sp_dropuser 不能用來移除資料庫擁有者 (dbo) INFORMATION_SCHEMA 使用者,也不能從 master 或 tempdb 資料庫移除 guest 使用者。在非系統資料庫中,EXEC sp_dropuser 'guest' 會從使用者 guest 撤銷 CONNECT 權限。但是使用者本身不會被卸除。
sp_dropuser 無法在使用者自訂交易內執行。
權限
需要資料庫的 ALTER ANY USER 權限。
範例
下列範例會從目前資料庫移除使用者 Albert。
EXEC sp_dropuser 'Albert';
GO