

# RDS for SQL Server のメジャーバージョンアップグレード
<a name="USER_UpgradeDBInstance.SQLServer.Major"></a>

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

SQL Server 2008 を除く任意のバージョンから既存の DB インスタンスを SQL Server 2017 または 2019 にアップグレードできます。SQL Server 2008 からアップグレードするには、他のいずれかのバージョンにアップグレードしてください。


****  

| 現在のバージョン | サポートされているアップグレードバージョン | 
| --- | --- | 
|  SQL Server 2019  |  SQL Server 2022  | 
|  SQL Server 2017  |  SQL Server 2022 SQL Server 2019  | 
|  SQL Server 2016  |  SQL Server 2022 SQL Server 2019 SQL Server 2017  | 

次の例に示すような AWS CLI クエリを使用して、データベースエンジンのバージョン別に利用できるアップグレードを見つけることができます。

**Example**  
Linux、macOS、Unix の場合:  

```
aws rds describe-db-engine-versions \
    --engine sqlserver-se \
    --engine-version 14.00.3281.6.v1 \
    --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" \
    --output table
```
Windows の場合:  

```
aws rds describe-db-engine-versions ^
    --engine sqlserver-se ^
    --engine-version 14.00.3281.6.v1 ^
    --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" ^
    --output table
```
出力は、バージョン 14.00.3281.6 を利用可能な最新の SQL Server 2017 または 2019 バージョンにアップグレードできることを示しています。  

```
--------------------------
|DescribeDBEngineVersions|
+------------------------+
|      EngineVersion     |
+------------------------+
|  14.00.3294.2.v1       |
|  14.00.3356.20.v1      |
|  14.00.3381.3.v1       |
|  14.00.3401.7.v1       | 
|  14.00.3421.10.v1      |
|  14.00.3451.2.v1       |
|  15.00.4043.16.v1      |
|  15.00.4073.23.v1      |
|  15.00.4153.1.v1       |
|  15.00.4198.2.v1       |
|  15.00.4236.7.v1       |
+------------------------+
```

## データベース互換性レベル
<a name="USER_UpgradeDBInstance.SQLServer.Major.Compatibility"></a>

Microsoft SQL Server データベース互換性レベルを使用して、いくつかのデータベースの動作を調整し、以前のバージョンの SQL Server を模倣することができます。詳細については、Microsoft ドキュメントの「[互換性レベル](https://msdn.microsoft.com/en-us/library/bb510680.aspx)」を参照してください。DB インスタンスをアップグレードしても、既存のすべてのデータベースは元の互換性レベルのままとなります。

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

```
1. ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 130
```