

# 데이터베이스 버전 업그레이드 적용
<a name="sqlserver-dev-edition.db-version-upgrade"></a>

RDS for SQL Server Developer Edition은 사용자 지정 엔진 버전(CEV)을 사용한 마이너 버전 업그레이드와 메이저 버전 업그레이드를 모두 지원합니다. 업그레이드하려면 최신 누적 업데이트(CU)를 사용하여 새 CEV를 생성하고 인스턴스에 적용해야 합니다. SQL Server Developer Edition의 데이터베이스 버전 업그레이드에는 다음 단계가 포함됩니다.

## 메이저 버전 및 마이너 버전 이해
<a name="sqlserver-dev-edition.db-version-upgrade.major-minor"></a>

메이저 버전은 Microsoft SQL Server의 정식 릴리스를 나타냅니다. 각 메이저 버전에는 새로운 기능, 기능 또는 성능 특성의 중요한 변경 사항, 기존 애플리케이션과 하위 호환되지 않을 수 있는 엔진 수준 변경 사항이 도입됩니다.

다음 표는 메이저 버전을 보여줍니다.


| SQL Server 릴리스 | 예시 엔진 버전 | 
| --- | --- | 
| SQL Server 2,025 Enterprise Developer Edition | 17.00.4045.5 | 
| SQL Server 2,025 Standard Developer Edition | 17.00.4045.5 | 
| SQL Server 2022 Developer 버전 | 16.00.4215.2 | 
| SQL Server 2019 Developer 버전 | 15.00.4455.2 | 

## 마이너 버전(누적 업데이트)
<a name="sqlserver-dev-edition.db-version-upgrade.minor-versions"></a>

마이너 버전은 지정된 메이저 버전 내에서 Microsoft가 릴리스한 누적 업데이트(CU)를 나타냅니다. 마이너 버전 업그레이드에는 보안 패치, 버그 수정, 엔진 개선 기능이 포함됩니다.

예를 들어 SQL Server 2022(메이저 버전 16.00) 내의 마이너 버전은 다음과 같습니다.
+ 16.00.4255.1(CU25)
+ 16.00.4215.2(CU21)

버전 업그레이드를 수행하기 전에 다음 리소스를 검토하여 잠재적 영향과 모범 사례를 파악하세요.
+ [SQL Server DB 엔진 업그레이드 시 고려 사항](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.SQLServer.Considerations.html) – 호환성 수준, 더 이상 사용되지 않는 기능, 데이터 정렬 변경 사항, 연결된 서버 및 업그레이드 후 워크로드에 영향을 미칠 수 있는 기타 요인을 다룹니다.
+ [업그레이드 테스트](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.SQLServer.UpgradeTesting.html) – 프로덕션 인스턴스에 적용하기 전에 스냅샷 복원에서 메이저 버전 업그레이드를 테스트하여 라이브 워크로드에 영향을 주지 않고 문제를 식별하는 방법을 설명합니다.

## 현재 엔진 버전 확인 및 대상 버전 식별
<a name="sqlserver-dev-edition.db-version-upgrade.verify"></a>

`describe-db-engine-versions` AWS CLI 명령을 사용하여 지원되는 버전을 보고 현재 엔진 버전의 유효한 업그레이드 대상을 결정합니다. 이렇게 하면 변경 사항을 적용하기 전에 메이저 업그레이드 경로와 마이너 업그레이드 경로를 구분할 수 있습니다. Amazon RDS가 지원하는 버전 중에서 대상 데이터베이스 엔진 버전을 확인합니다. Amazon RDS에서 사용할 수 있는 SQL Server 버전에 대한 자세한 내용은 [RDS for SQL Server에서 SQL Server Developer Edition 작업](sqlserver-dev-edition.md) 섹션을 참조하세요.

```
aws rds describe-db-engine-versions \
  --engine sqlserver-dev-ee \
  --engine-version "16.00.4215.2.my-cev" \
  --query "DBEngineVersions[0].ValidUpgradeTarget[*].{EngineVersion:EngineVersion,IsMajorVersionUpgrade:IsMajorVersionUpgrade}" \
  --output table
```

```
---------------------------------------------------------
|              DescribeDBEngineVersions                  |
+----------------------------+--------------------------+
|       EngineVersion        |  IsMajorVersionUpgrade   |
+----------------------------+--------------------------+
|  16.00.4255.1.my-target-cev|  False                   |
|  17.00.4055.5.my-target-cev|  True                    |
+----------------------------+--------------------------+
```

이 출력에서
+ `IsMajorVersionUpgrade: False`는 마이너 버전 업그레이드를 나타냅니다.
+ `IsMajorVersionUpgrade: True`는 메이저 버전 업그레이드를 나타냅니다.

## 새 사용자 지정 엔진 버전 생성
<a name="sqlserver-dev-edition.db-version-upgrade.create-cev"></a>

필요한 설치 미디어(ISO 및 CU)를 가져와 업로드한 다음 새 CEV를 생성합니다. CEV 생성에 대한 자세한 지침은 [RDS for SQL Server Developer Edition용 사용자 지정 엔진 버전 생성](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/sqlserver-dev-edition.creating-cev.html)을 참조하세요.

`describe-db-engine-versions`를 실행하여 CEV의 유효한 업그레이드 경로를 확인합니다.

```
aws rds describe-db-engine-versions \
  --engine sqlserver-dev-ee \
  --engine-version "16.00.4215.2.my-cev" \
  --query "DBEngineVersions[0].ValidUpgradeTarget[*].{EngineVersion:EngineVersion,IsMajorVersionUpgrade:IsMajorVersionUpgrade}" \
  --output table
```

출력 예시:

```
---------------------------------------------------------
|              DescribeDBEngineVersions                  |
+----------------------------+--------------------------+
|       EngineVersion        |  IsMajorVersionUpgrade   |
+----------------------------+--------------------------+
|  17.00.4055.5.my-target-cev|  True                    |
+----------------------------+--------------------------+
```

## 버전 업그레이드 적용
<a name="sqlserver-dev-edition.db-version-upgrade.apply"></a>

### AWS CLI 사용
<a name="sqlserver-dev-edition.db-version-upgrade.apply.cli"></a>

새 CEV와 함께 Amazon RDS [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 명령을 사용하여 버전 업그레이드를 적용합니다.

```
aws rds modify-db-instance \
--db-instance-identifier <instance-id> \
--engine-version <new-cev-version> \
--allow-major-version-upgrade ## required only for major version upgrades \
--no-apply-immediately ## use --apply-immediately for immediate update
```

**참고**  
다음 유지 관리 기간에 변경 사항을 적용하려면 `--no-apply-immediately`(기본값)를 사용합니다.

**중요**  
`--allow-major-version-upgrade` 파라미터는 메이저 버전 업그레이드에 필요합니다.

### AWS 관리 콘솔에서 사용
<a name="sqlserver-dev-edition.db-version-upgrade.apply.console"></a>

콘솔을 사용하여 DB 인스턴스의 엔진 버전을 업그레이드하려면

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **데이터베이스**를 선택한 다음 업그레이드하려는 DB 인스턴스를 선택합니다.

1. **수정**을 선택합니다. [Modify DB Instance] 페이지가 나타납니다.

1. **DB 엔진 버전**의 경우 드롭다운 목록에서 새 대상 버전(새 CEV)을 선택합니다.

1. **계속**을 선택하여 수정 사항을 요약한 내용을 검토합니다.

1. 변경 사항을 적용할 시기를 선택합니다.
   + 지금 업그레이드를 시작하려면 **즉시 적용**을 선택합니다.
   + 변경 사항을 다음 예약된 유지 관리 기간에 적용하려면 **예약된 다음 유지 관리 기간에 적용**을 선택합니다.

1. **DB 인스턴스 수정**을 선택하여 변경 사항을 저장합니다.