本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將資料庫的 db_owner
變更為 rdsa
帳戶
當您在 RDS for SQL Server 資料庫執行個體中建立或還原資料庫時,Amazon RDS 會將資料庫的擁有者設定為 rdsa
。如果您的多可用區部署使用 SQL Server Database Mirroring (DBM) 或 Always On 可用性群組 (AGs),則 Amazon RDS 會將次要資料庫執行個體上的資料庫擁有者設定為 NT AUTHORITY\SYSTEM
。次要資料庫執行個體提升為主要角色之前,次要資料庫的擁有者無法變更。大多數情況下,在執行查詢時,將資料庫擁有者設定為 NT AUTHORITY\SYSTEM
並不成問題,但是在執行系統預存程序 (例如,需要有提高的許可才能執行的 sys.sp_updatestats
) 時,可能會擲回錯誤。
您可以使用下列查詢來識別 NT AUTHORITY\SYSTEM
所擁有資料庫的擁有者:
SELECT name FROM sys.databases WHERE SUSER_SNAME(owner_sid) = 'NT AUTHORITY\SYSTEM';
您可以使用 Amazon RDS 預存程序 rds_changedbowner_to_rdsa
將資料庫擁有者變更為 rdsa
。下列資料庫不允許搭配 rds_changedbowner_to_rdsa
使用:master, model, msdb, rdsadmin, rdsadmin_ReportServer, rdsadmin_ReportServerTempDB, SSISDB
。
若要將資料庫擁有者變更為rdsa
,請呼叫rds_changedbowner_to_rdsa
預存程序並提供資料庫的名稱。
範例 使用方式:
exec msdb.dbo.rds_changedbowner_to_rdsa 'TestDB1';
以下是必要參數:
-
@db_name
:要將其資料庫擁有者變更為rdsa
的資料庫名稱。