在企業管理器中透過右鍵選單修改單一資料表擁有者雖然直觀,但當資料表數量龐大時,逐一操作極其耗時且易出錯。
利用未公開的系統預存程序 sp_msforeachtable 搭配 sp_changeobjectowner,可一次完成所有資料表擁有者的變更。在查詢分析器中執行以下指令即可:
EXEC sp_msforeachtable 'sp_changeobjectowner ''?'', ''tester'''
參數說明:
?:代表目前迴圈處理的資料表名稱(含結構描述)。tester:目標新擁有者的使用者名稱,請依實際環境替換。執行前請務必備份資料庫,並確認目標使用者已存在於資料庫中且具備足夠權限。此方法適用於 SQL Server 2000 及相容版本,新版本建議使用 ALTER AUTHORIZATION 或 ALTER SCHEMA 陳述式。