將資料庫的 db_owner 變更為 rdsa 帳戶 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將資料庫的 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 的資料庫名稱。