db_owner
の Amazon RDS for SQL Server データベースの 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
に変更する対象のデータベースの名前。
重要
rds_changedbowner_to_rdsa
を使用して、データベースの所有権を rdsa
以外のログインに変更することはできません。例えば、データベースを作成したログインに所有権を変更することはできません。他のデータベースユーザーを使用してメンバーシップを付与できない場合に、マスターユーザーの db_owner
ロールの失われたメンバーシップを復元するには、マスターユーザーのパスワードをリセットして、db_owner
ロールのメンバーシップを取得します。詳細については、「Amazon RDS for SQL Server のマスターユーザーの db_owner ロールメンバーシップのリセット」を参照してください。