RDS for SQL Server에서 SQL Server 엔진 버전을 업그레이드하거나 다운그레이드하려면 어떻게 해야 합니까?
Amazon Relational Database Service(Amazon RDS) for Microsoft SQL Server에서 SQL Server 엔진 버전을 업그레이드하거나 다운그레이드하려고 합니다.
간략한 설명
Amazon RDS for SQL Server는 Express, Web, Standard 및 Enterprise Edition을 지원합니다. Amazon RDS 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 SQL Server 버전 변경을 인플레이스 수정으로 수행할 수는 없습니다.
해결 방법
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
SQL Server 엔진 버전 업그레이드
기존 RDS for SQL Server 인스턴스의 RDS 스냅샷을 생성한 다음, 스냅샷에서 새 RDS 인스턴스를 복원합니다. 업그레이드 제한 사항은 Microsoft SQL Server 고려 사항을 참조하십시오.
다음 단계를 완료하십시오.
- 원본 RDS for SQL Server 인스턴스의 스냅샷을 생성합니다.
- 스냅샷을 복원하여 새 RDS 인스턴스를 생성합니다. 인스턴스를 복원할 때는 데이터베이스의 최신 버전을 선택하십시오.
- DNS 엔드포인트 이름을 재사용할 수 있도록 원본 RDS for SQL Server 인스턴스를 삭제하거나 이름을 변경합니다. 자세한 내용은 이 문서의 RDS 인스턴스 이름 변경 섹션을 참조하십시오.
Standard 버전에서 Enterprise 버전으로 업그레이드하려면 Amazon RDS for SQL Server 인스턴스를 Standard 버전에서 Enterprise 버전으로 수정을 참조하십시오.
다음과 같은 유형의 업그레이드에도 동일한 스냅샷 및 복원 방법을 사용할 수 있습니다.
- Standard 버전에서 Enterprise 버전으로 업그레이드
- Web 버전에서 Standard 버전 또는 Enterprise 버전으로 업그레이드
- Express 버전에서 Web 버전, Standard 버전 또는 Enterprise 버전으로 업그레이드
참고: 버전을 업그레이드할 때 스냅샷 복원에서는 새로운 RDS for SQL Server 인스턴스를 생성합니다. 새 인스턴스에는 스냅샷 소스 인스턴스와 다른 RDS 엔드포인트가 있습니다.
SQL Server 버전 다운그레이드
RDS for SQL Server 인스턴스를 이후 버전에서 이전 버전으로 인플레이스 다운그레이드하는 것은 지원되지 않습니다. 하지만 다음과 같은 유형의 다운그레이드는 모두 완료할 수 있습니다.
- Enterprise 버전에서 Standard, Web 또는 Express 버전으로 다운그레이드
- Standard 버전에서 Web 또는 Express 버전으로 다운그레이드
- Web 버전에서 Express 버전으로 다운그레이드
RDS for SQL Server 버전을 다운그레이드하려면 기본 백업 및 복원 옵션, AWS Database Migration Service(AWS DMS) 또는 기타 도구를 사용합니다. 가동 중지 시간, 업무, 사용 사례의 복잡성 등과 같은 요소를 기준으로 다운그레이드 옵션을 선택하십시오.
RDS for SQL Server의 기본 백업 및 복원 옵션
기본 백업 및 복원에서는 기존 소스 RDS for SQL Server 인스턴스에 데이터베이스의 전체 백업을 생성합니다.
소스 Enterprise 인스턴스에서 대상 Standard 인스턴스로 다운그레이드하려면 다음 단계를 완료하십시오.
- Standard 버전을 사용하여 RDS for SQL Server DB를 새로 생성합니다.
- 소스 Enterprise 및 대상 Standard 버전 인스턴스에 기본 백업 및 복원 옵션을 추가합니다.
- Amazon Simple Storage Service(Amazon S3) 버킷에 소스 Enterprise 인스턴스의 각 사용자 데이터베이스를 백업합니다.
- 소스 Enterprise 인스턴스의 각 데이터베이스에서 sys.dm_dm_persisted_sku-features 쿼리를 실행합니다.
참고: database-name을 사용자 데이터베이스의 이름으로 바꾸십시오.USE database-name GO SELECT feature_name FROM sys.dm_db_persisted_sku_features; GO
위의 쿼리는 현재 최신 버전에 연결된 기능이 있는지 확인합니다. 데이터베이스를 이전 버전 대상 인스턴스로 복원하면 최신 버전에 연결된 기능이 작동하지 않을 수 있습니다. 자세한 내용은 Microsoft 웹사이트에서 sys.dm_db_persisted_sku_features(Transact-SQL)를 참조하십시오. - Amazon S3 버킷에서 대상 Standard 인스턴스로 백업을 복원합니다.
- 대상 Standard 인스턴스 데이터베이스에 필요한 로그인 및 사용자를 생성합니다. 또한 적절한 보안 그룹을 생성하고 적절한 파라미터-옵션 그룹을 연결합니다.
참고: 이전 단계를 사용하면 RDS의 모든 SQL Server 버전에서 데이터베이스를 내보내고 가져올 수 있습니다.
AWS DMS
AWS DMS는 이후 버전 인스턴스에서 진행 중인 변경 사항을 이전 버전 인스턴스로 복제합니다. AWS DMS는 단방향 복제 및 대량 로드 테이블을 허용하며 지원되는 데이터 변경 사항을 캡처합니다.
자세한 내용은 다음 AWS 문서를 참조하십시오.
- Microsoft SQL Server 데이터베이스를 AWS DMS의 소스로 사용
- Microsoft SQL Server 데이터베이스를 AWS Database Migration Service의 대상으로 사용
- SQL Server를 AWS DMS의 소스로 사용할 때의 제한 사항
- AWS DMS를 사용하여 SQL Server 데이터베이스를 Amazon RDS for SQL Server로 마이그레이션
SQL Server 데이터를 가져오고 내보내기 위한 기타 도구
다음 도구를 사용하여 데이터베이스를 가져오고 내보낼 수도 있습니다.
- SQL 서버 가져오기 및 내보내기 마법사
- 스크립트 생성 및 게시 마법사
- 대량 복사(bcp 유틸리티)
참고: 위 도구를 사용하기 전에 먼저 이전 SQL Server 버전에서 인스턴스를 시작해야 합니다.
해당 도구를 사용하여 데이터를 이동할 때 해결해야 하는 여러 가지 데이터 일관성 또는 무결성 문제가 발생할 수 있습니다. 도구 중 하나를 사용하기 전에 테스트 환경에서 프로세스를 철저히 테스트하십시오.
SQL Server 가져오기 및 내보내기 마법사의 경우, 소스 인스턴스의 데이터베이스 및 객체에 대한 스키마를 생성하여 대상 인스턴스에 복사합니다. 그런 다음, 마법사를 사용하여 한 RDS for SQL Server DB 인스턴스에서 다른 데이터 저장소로 테이블, 보기 또는 쿼리를 복사합니다.
SQL Server 스크립트 생성 및 게시 마법사와 bcp 유틸리티의 경우, 마법사를 사용하여 전체 데이터베이스 또는 선택한 객체에 대한 스크립트를 생성합니다. 대상 SQL Server DB 인스턴스에서 스크립트를 실행하면 스크립팅된 객체를 다시 생성할 수 있습니다. 그런 다음, 대량 복사 기능을 사용하여 선택한 객체의 데이터를 대상 DB 인스턴스로 내보냅니다. 소스 및 대상 RDS 인스턴스 모두에 연결된 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 bcp 유틸리티를 실행하십시오.
RDS 인스턴스 이름 변경
위의 모든 옵션을 사용하면 새로운 대상 RDS 인스턴스가 생성됩니다. 새 RDS 인스턴스에는 기존 소스 RDS 인스턴스와 다른 RDS DNS 엔드포인트가 있습니다.
애플리케이션 및 서비스 전체에서 새 RDS 엔드포인트를 업데이트할 때 구성 요소에서 연결 문자열 업데이트가 누락되어 오류가 발생하는 경우가 있습니다.
이 문제를 방지하려면 소스 및 대상 RDS 인스턴스의 이름을 바꾸는 것이 좋습니다. 인스턴스 이름을 변경할 경우 대상 버전 인스턴스가 원본 소스 버전 인스턴스와 동일한 RDS DNS 엔드포인트를 갖습니다. 따라서 버전을 변경한 후 종속 애플리케이션 또는 서비스의 연결 문자열을 변경할 필요가 없습니다.
버전을 변경한 후 소스 및 대상 RDS 인스턴스의 이름을 변경하려면 다음 단계를 완료하십시오.
참고: 다음 예제 절차에서 소스 RDS 인스턴스는 Enterprise 버전의 rds-original이고 대상 인스턴스는 Standard 버전의 rds-new입니다.
- 소스 인스턴스 rds-original로 들어오는 모든 트래픽을 중지합니다.
- RDS 인스턴스에서 SQL Server 버전을 업그레이드하거나 다운그레이드합니다.
참고: 업그레이드 또는 다운그레이드한 후 소스 인스턴스는 rds-original이고 대상 인스턴스는 rds-new입니다. - 소스 인스턴스를 수정하여 rds-original에서 다른 이름(예: rds-original-old)으로 DB 인스턴스의 이름을 변경합니다.
- rds-original-old 인스턴스가 사용 가능 상태가 되면 대상 DB 인스턴스의 이름을 rds-new에서 소스 인스턴스의 원래 이름인 rds-original로 변경합니다.
- 인스턴스가 rds-original-old 및 rds-original로 이름 변경되고 사용 가능 상태인지 확인합니다.
- 새 대상 RDS 인스턴스 보안 그룹을 소스 인스턴스와 동일하게 유지하여 기존 애플리케이션과의 네트워크 연결을 유지합니다.
- 필요한 SQL Server 버전이 있는 rds-original 인스턴스로 들어오는 트래픽을 허용합니다. RDS에는 소스 인스턴스와 동일한 DNS 엔드포인트가 있으므로 애플리케이션 연결 문자열을 변경할 필요가 없습니다.
- 애플리케이션 테스트를 수행하여 RDS 인스턴스 버전 변경으로 인해 오류가 발생하지 않는지 확인합니다.
- 오류가 없으면 rds-original-old 인스턴스의 최종 스냅샷을 생성하고 인스턴스를 삭제하여 비용을 줄입니다.
참고: 프로덕션 환경에서 변경 사항을 구현하기 전에 테스트 환경에서 활동을 테스트하는 것이 좋습니다.
관련 정보
AWS 권장 가이드 — Enterprise 버전에서 AWS의 Standard 버전으로 Microsoft SQL Server 다운그레이드 평가
관련 콘텐츠
- 질문됨 9달 전lg...
- 질문됨 2년 전lg...
- 질문됨 2년 전lg...
- 질문됨 7일 전lg...
- AWS 공식업데이트됨 한 달 전
- AWS 공식업데이트됨 9달 전