db_owner をデータベースの rdsa アカウントに変更する - Amazon Relational Database Service

db_owner をデータベースの rdsa アカウントに変更する

RDS for SQL Server DB インスタンスでデータベースを作成または復元すると、Amazon RDS はデータベースの所有者を rdsa に設定します。マルチ AZ 配置で SQL Server データベースミラーリング (DBM) または Always On 可用性グループ (AG) を使用している場合、Amazon RDS はセカンダリ DB インスタンスのデータベースの所有者を NT AUTHORITY\SYSTEM に設定します。セカンダリ DB インスタンスがプライマリロールに昇格されるまで、セカンダリデータベースの所有者を変更することはできません。ほとんどの場合、クエリの実行時にデータベースの所有者を 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 に変更する対象のデータベースの名前。