メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

Microsoft SQL Server DB エンジンのアップグレード

Amazon RDS が新バージョンの Microsoft SQL Server をサポートすると、DB インスタンスをその新バージョンにアップグレードできます。Amazon RDS は、Microsoft SQL Server DB インスタンスに対して以下のアップグレードをサポートしています。

  • メジャーバージョンアップグレード

  • マイナーバージョンアップグレード

すべてのアップグレードは手動で実行する必要があり、アップグレード中はサービスが停止します。停止時間は、DB インスタンスのエンジン、バージョン、サイズによって異なります。

Amazon RDS で使用できる SQL Server のバージョンについての詳細は、「Amazon RDS での Microsoft SQL Server」を参照してください。

アップグレードの概要

Amazon RDS によってアップグレードプロセス中に 2 つの DB スナップショットが作成されます。最初の DB スナップショットは、アップグレードの変更が行われる前の DB インスタンスから作成されます。アップグレードがデータベースに対して機能しない場合は、このスナップショットを復元して、以前のバージョンを実行する DB インスタンスを作成できます。アップグレードの完了後に 2 番目の DB スナップショットが作成されます。

注記

DB インスタンスのバックアップ保持期間を 0 より大きく設定した場合にのみ、Amazon RDS は DB スナップショットを作成します。バックアップ保持期間を変更するには、「Microsoft SQL Server データベースエンジンを実行する DB インスタンスの変更」を参照してください。

アップグレードが完了したら、データベースエンジンの前のバージョンに戻すことはできません。前のバージョンに戻す必要がある場合は、アップグレードの前に作成された DB スナップショットを復元して、新しい DB インスタンスを作成します。

SQL Server のマイナーバージョンアップグレードまたはメジャーバージョンアップグレード中、[Free Storage Space] と [Disk Queue Depth] のメトリクスに [-1] が表示されます。アップグレードが完了したら、いずれのメトリックも [normal] に戻ります。

メジャーバージョンアップグレード

Amazon RDS は、現在次のメジャーバージョンの Microsoft SQL Server DB インスタンスへのアップグレードをサポートしています。

現行バージョン サポートされているアップグレードバージョン

SQL Server 2014

SQL Server 2016

SQL Server 2012

SQL Server 2016

SQL Server 2014

SQL Server 2008 R2

SQL Server 2016

SQL Server 2014

SQL Server 2012

データベース互換性レベル

Microsoft SQL Server データベース互換性レベルを使用して、いくつかのデータベースの動作を調整し、以前のバージョンの SQL Server を模倣することができます。詳細については、Microsoft ドキュメントの「Compatibility Level」を参照してください。

次に SQL Serverバージョンとの互換性レベルを示します。

  • SQL Server 2016 – 互換性レベル 130

  • SQL Server 2014 – 互換性レベル 120

  • SQL Server 2012 – 互換性レベル 110

DB インスタンスをアップグレードしても、既存のすべてのデータベースは元の互換性レベルのままとなります。たとえば、SQL Server 2012 から SQL Server 2014 にアップグレードした場合に、既存のすべてのデータベースは 110 レベルとの互換性があります。アップグレード後に作成した新しいデータベースは互換性レベル 120 となります。

ALTER DATABASE コマンドを使用して、データベースの互換性レベルを変更できます。たとえば、customeracct という名前のデータベースが、SQL Server 2014 との互換性を持つように変更するには、次のコマンドを発行します。

Copy
ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 120

マルチ AZ およびインメモリ最適化に関する考慮事項

Amazon RDS では、Microsoft SQL Server を実行する DB インスタンスで SQL Server データベースのミラーリングによるマルチ AZ 配置がサポートされています。詳細については、「Microsoft SQL Server でのデータベースのミラーリングによるマルチ AZ 配置」を参照してください。

DB インスタンスがマルチ AZ 配置にある場合、プライマリとスタンバイのインスタンスの両方がアップグレードされます。プライマリとスタンバイのインスタンスは同時にアップグレードされ、アップグレードが完了するまで停止します。

SQL Server 2014 Enterprise エディションおよび SQL Server 2016 Enterprise エディションは、インメモリ最適化に対応しています。マルチ AZ 配置は、インメモリ最適化が有効化されている DB インスタンスではサポートされません。マルチ AZ を有効にした DB インスタンスをアップグレードすると、Amazon RDS はメモリ最適化を自動的に無効にします。

オプショングループとパラメータグループに関する考慮事項

オプショングループに関する考慮事項

DB インスタンスでカスタムオプショングループを使用している場合、状況によっては、Amazon RDS で DB インスタンスに新しいオプショングループを自動的に割り当てられないことがあります。たとえば、新しいメジャーバージョンにアップグレードする場合などが該当します。この場合、アップグレード時に新しいオプショングループを指定する必要があります。新しいオプショングループを作成し、このオプショングループに既存のカスタムオプショングループと同じオプションを追加することをお勧めします。

詳細については、「オプショングループを作成する」または「オプショングループのコピーの作成」を参照してください。

パラメータグループに関する考慮事項

DB インスタンスでカスタムパラメータグループを使用している場合、状況によっては、Amazon RDS で DB インスタンスに新しいパラメータグループを自動的に割り当てられないことがあります。たとえば、新しいメジャーバージョンにアップグレードする場合などが該当します。この場合、アップグレード時に新しいパラメータグループを指定する必要があります。新しいパラメータグループを作成し、そのパラメータの設定を既存のカスタムパラメータグループと同じにすることをお勧めします。

詳細については、「DB パラメータグループを作成する」または「DB パラメータグループをコピーする」を参照してください。

アップグレードをテストする

DB インスタンスのメジャーバージョンのアップグレードを実行する前に、データベースとそのデータベースにアクセスするすべてのアプリケーションについて、新しいバージョンとの互換性を綿密にテストする必要があります。以下の手順を実行することをお勧めします。

メジャーバージョンのアップグレードをテストするには

  1. データベースエンジンの新しいバージョンについてアップグレードドキュメントを参照して、データベースやアプリケーションに影響を与える可能性のある互換性の問題があるかどうかを確認します。

  2. DB インスタンスでカスタムオプショングループを使用している場合は、アップグレード先の新しいバージョンと互換性がある新しいオプショングループを作成します。詳細については、「オプショングループに関する考慮事項」を参照してください。

  3. DB インスタンスでカスタムパラメータグループを使用している場合は、アップグレード先の新しいバージョンと互換性がある新しいパラメータグループを作成します。詳細については、「パラメータグループに関する考慮事項」を参照してください。

  4. アップグレードする DB インスタンスの DB スナップショットを作成します。詳細については、「DB スナップショットの作成」を参照してください。

  5. DB スナップショットを復元して、新しいテスト DB インスタンスを作成します。詳細については、「DB スナップショットからの復元」を参照してください。

  6. この新しいテスト DB インスタンスを変更して新しいバージョンにアップグレードするには、次に説明するいずれかの方法を使用します。

  7. アップグレードしたインスタンスによって使用されるストレージを評価して、アップグレードに追加のストレージが必要かどうかを判断します。

  8. データベースとアプリケーションが新しいバージョンで正常に動作することが確認されるまで、アップグレードした DB インスタンスに対する品質保証テストを必要な回数だけ実行します。手順 1 で特定した互換性の問題の影響を評価するための新しいテストを実行します。すべてのストアドプロシージャと関数をテストします。アプリケーションのテストバージョンを、アップグレードした DB インスタンスに割り振ります。

  9. すべてのテストに合格したら、本稼働 DB インスタンスのアップグレードを実行します。すべてが正常に動作していることを確認するまでは、DB インスタンスへの書き込みオペレーションは許可しないことをお勧めします。

AWS マネジメントコンソール

AWS マネジメントコンソール を使用して Microsoft SQL Server DB インスタンスをアップグレードするには、DB インスタンスを変更するときと同じ手順に従います。詳細な手順については、「Microsoft SQL Server データベースエンジンを実行する DB インスタンスの変更」を参照してください。

CLI

AWS CLI を使用して Microsoft SQL Server DB インスタンスをアップグレードするには、以下のパラメータを使用して modify-db-instance コマンドを呼び出します。

  • --db-instance-identifier – DB インスタンスの名前です。

  • --engine-version – アップグレード先のデータベースエンジンのバージョン番号です。

  • --allow-major-version-upgrade – メジャーバージョンにアップグレードします。

  • --no-apply-immediately – 次のメンテナンス時間中に変更を適用します。今すぐ変更を適用するには、--apply-immediately を使用します。詳細については、「即時適用の効果」を参照してください。

必要に応じて、以下のパラメータを含める場合もあります。詳細については、「オプショングループに関する考慮事項」および「パラメータグループに関する考慮事項」を参照してください。

  • --option-group-name – アップグレードした DB インスタンスのオプショングループ。

  • --db-parameter-group-name – アップグレードした DB インスタンスのパラメータグループ。

次のコードは、DB インスタンスのアップグレードを行います。これらの変更は、次のメンテナンス時間中に適用されます。

Linux、OS X、Unix の場合:

Copy
aws rds modify-db-instance \ --db-instance-identifier <mydbinstance> \ --engine-version <11.00.6020.0.v1> \ --option-group-name <default:sqlserver-se-11-00> \ --db-parameter-group-name <default.sqlserver-se-11.0> \ --allow-major-version-upgrade \ --no-apply-immediately

Windows の場合:

Copy
aws rds modify-db-instance ^ --db-instance-identifier <mydbinstance> ^ --engine-version <11.00.6020.0.v1> ^ --option-group-name <default:sqlserver-se-11-00> ^ --db-parameter-group-name <default.sqlserver-se-11.0> ^ --allow-major-version-upgrade ^ --no-apply-immediately

API

Amazon RDS API を使用して Microsoft SQL Server DB インスタンスをアップグレードするには、以下のパラメータを使用して ModifyDBInstance アクションを呼び出します。

  • DBInstanceIdentifier – DB インスタンスの名前です。

  • EngineVersion – アップグレード先のデータベースエンジンのバージョン番号です。

  • AllowMajorVersionUpgrade – メジャーバージョンをアップグレードするには、true に設定します。

  • ApplyImmediately – 変更をすぐに適用するか、次のメンテナンス時間中に適用するかを指定します。今すぐ変更を適用するには、値を true に設定します。次のメンテナンス時間中に変更を適用するには、値を false に設定します。詳細については、「即時適用の効果」を参照してください。

必要に応じて、以下のパラメータを含める場合もあります。詳細については、「オプショングループに関する考慮事項」および「パラメータグループに関する考慮事項」を参照してください。

  • OptionGroupName – アップグレードした DB インスタンスのオプショングループ。

  • DBParameterGroupName – アップグレードした DB インスタンスのパラメータグループ。

次のコードは、DB インスタンスのアップグレードを行います。これらの変更は、次のメンテナンス時間中に適用されます。

Copy
https://rds.amazonaws.com/ ?Action=ModifyDBInstance &AllowMajorVersionUpgrade=true &ApplyImmediately=false &DBInstanceIdentifier=mydbinstance &DBParameterGroupName=default.sqlserver-se-11.0 &EngineVersion=11.00.6020.0.v1 &OptionGroupName=default:sqlserver-se-11-00 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20131016/us-west-1/rds/aws4_request &X-Amz-Date=20131016T233051Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=087a8eb41cb1ab5f99e81575f23e73757ffc6a1e42d7d2b30b9cc0be988cff97

関連トピック