sp_changedbowner (Transact-SQL)
適用於:SQL Server
變更目前資料庫的擁有者。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 ALTER AUTHORIZATION 。
語法
sp_changedbowner [ @loginame = ] 'login'
[ , [ @map = ] remap_alias_flag ]
引數
[ @loginame= ] 'login'
這是目前資料庫之新擁有者的登入標識符。 login 是 sysname,沒有預設值。 login 必須是現有的 SQL Server 登入或 Windows 使用者。 如果登入已透過資料庫內現有的使用者安全性帳戶存取資料庫,則無法成為目前資料庫的擁有者。 若要避免這種情況,請先卸除目前資料庫內的使用者。
[ @map= ] remap_alias_flag
remap_alias_flag參數已被取代,因為已從 SQL Server 移除登入別名。 使用 remap_alias_flag 參數不會造成錯誤,但沒有作用。
傳回碼值
0 (成功) 或 1 (失敗)
備註
執行sp_changedbowner之後,新的擁有者稱為資料庫內的 dbo 使用者。 dbo 具有在資料庫中執行所有活動的隱含許可權。
無法變更 master、model 或 tempdb 系統資料庫的擁有者。
若要顯示有效 登入 值的清單,請執行預存程式sp_helplogins。
執行sp_changedbowner,只有登入參數會將資料庫擁有權變更為登入。
您可以使用 ALTER AUTHORIZATION 語句來變更任何安全性實體的擁有者。 如需詳細資訊,請參閱 ALTER AUTHORIZATION (Transact-SQL)。
權限
需要資料庫的TAKE OWNERSHIP許可權。 如果新的擁有者在資料庫中有對應的使用者,則需要登入的IMPERSONATE許可權,否則需要伺服器上的CONTROL SERVER許可權。
範例
下列範例會讓登入 Albert
成為目前資料庫的擁有者。
EXEC sp_changedbowner 'Albert';
另請參閱
安全性預存程序 (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL)
sp_dropalias (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpdb (Transact-SQL)
sp_helplogins (Transact-SQL)
系統預存程序 (Transact-SQL)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應