

# `db_owner` の Amazon RDS for SQL Server データベースの `rdsa` アカウントへの変更
<a name="Appendix.SQLServer.CommonDBATasks.ChangeDBowner"></a>

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` ストアドプロシージャを呼び出してデータベース名を指定します。

**Example 使用例:**  

```
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\$1owner ロールメンバーシップのリセット](Appendix.SQLServer.CommonDBATasks.ResetPassword.md)」を参照してください。