按一下以給予評分及指教
MSDN
MSDN Library
SQL Server
SQL Server 2008
Database Engine
技術參考
 sp_changeobjectowner (Transact-SQL)
社群內容
本節內容
數據 註解 (0)
全部折疊/全部展開 全部折疊
其他版本也適用於下列軟體:
SQL Server 2008 線上叢書 (2009 年 7 月)
sp_changeobjectowner (Transact-SQL)

變更目前資料庫中的物件擁有者。

ms177519.note(zh-tw,SQL.100).gif重要事項:
這個預存程序只能搭配使用 Microsoft SQL Server 2000 中的物件。未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 ALTER SCHEMAALTER AUTHORIZATIONsp_changeobjectowner 會變更結構描述和擁有者。為了保留與舊版 SQL Server 的相容性,當目前擁有者和新擁有者同時擁有與資料庫使用者同名的結構描述時,這個預存程序只會變更物件擁有者。

ms177519.note(zh-tw,SQL.100).gif重要事項:
新的權限需求已經加入這個預存程序中。

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

sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'
[ @objname = ] 'object'

目前資料庫中現有資料表、檢視、使用者自訂函數或預存程序的名稱。object nvarchar(776),沒有預設值。如果結構描述與其擁有者同名,object 就可以採用現有物件的擁有者名稱,其格式為 existing_owner.object

[ @newowner=] 'owner '

這是即將成為物件新擁有者的安全性帳戶名稱。ownersysname,沒有預設值。owner 必須是有效的資料庫使用者、伺服器角色、Microsoft Windows 登入,或是有權存取目前資料庫的 Windows 群組。如果新擁有者是一個 Windows 使用者或是沒有對應資料庫層級主體的 Windows 群組,就會建立一個資料庫使用者。

0 (成功) 或 1 (失敗)

sp_changeobjectowner 會從物件移除所有現有的權限。在執行 sp_changeobjectowner 之後,您必須重新套用您要保留的任何權限。因此,我們建議您在執行 sp_changeobjectowner 之前,先編寫現有權限的指令碼。待物件擁有權變更之後,您就可以利用指令碼,重新套用權限了。在執行之前,您必須先修改權限指令碼中的物件擁有者。如需有關編寫資料庫指令碼的詳細資訊,請參閱<記錄和編寫資料庫的指令碼>。

若要變更安全性實體的擁有者,請使用 ALTER AUTHORIZATION。若要變更結構描述,請使用 ALTER SCHEMA。

需要 db_owner 固定資料庫角色中的成員資格,或是 db_ddladmin 固定資料庫角色和 db_securityadmin 固定資料庫角色中的成員資格,以及該物件的 CONTROL 權限。

下列範例會將 authors 表格的擁有者改為 Corporate\GeorgeW

EXEC sp_changeobjectowner 'authors', 'Corporate\GeorgeW';
GO
社群內容   什麼是社群內容?
新增內容 RSS  註解
Processing
© 2009 Microsoft Corporation. 著作權所有,並保留一切權利。 使用規定 | 商標 | 隱私權聲明
Page view tracker