SQL Server를 실행하는 Amazon RDS DB 인스턴스에서 AWS DMS를 사용하여 마이그레이션하려면 어떻게 해야 합니까?

3분 분량
0

AWS Database Migration Service(AWS DMS)를 사용하여 Amazon Relational Database Service(Amazon RDS) DB 인스턴스에서 마이그레이션하고 싶습니다. DB 인스턴스는 SQL Server를 실행하고 있습니다.

간략한 설명

먼저 RDS for SQL Server 인스턴스의 주 사용자를 사용하여 데이터베이스와 테이블을 구성합니다. 그런 다음 AWS DMS 콘솔을 사용하거나 AWS Command Line Interface(AWS CLI)를 사용하여 소스 엔드포인트를 생성합니다. 자세한 내용은 온프레미스 또는 Amazon EC2에서 자체 관리형 SQL Server의 데이터 변경 내용 캡처를 참조하세요.

참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

해결 방법

데이터베이스 및 테이블 구성

AWS DMS는 진행 중인 변경 사항을 캡처하는 방법을 두 가지 제공합니다. MS 복제 및 MS-CDC.

참고: Amazon RDS는 Sysadmin 권한을 지원하지 않습니다. 즉, SQL Server를 소스로 실행하는 Amazon RDS 인스턴스는 MS-CDC를 사용해야 합니다.

1.    데이터베이스 수준에서 MS-CDC를 켜려면 주 사용자로 다음 명령을 실행합니다.

EXEC msdb.dbo.rds_cdc_enable_db 'DBName';
GO

2.    테이블 수준에서 CDC를 켜려면 각 테이블에 대해 다음 명령을 실행합니다.

EXECUTE sys.sp_cdc_enable_table @source_schema = N'SchemaName', @source_name =N'TableName', @role_name = NULL;
GO

3.    T-Log의 트랜잭션 보존 기간을 늘리려면 다음 명령을 실행합니다.

EXEC sys.sp_cdc_change_job @job_type = 'capture' ,@pollinginterval = 3599;
GO

SQL Server 인스턴스에 대한 지속적인 복제를 구성할 때pollinginterval을 설정하여 변경 내용을 하루(86,400초) 동안 보존하는 것이 좋습니다. 지정된 보존 기간 동안 T-log를 위한 충분한 저장 공간이 있는지 확인하세요. 예를 들어 보존 기간이 24시간인 경우 캡처 작업에서 maxscansmaxtrans 값을 조정하세요. maxtrans x maxscans는 AWS DMS가 원본 데이터베이스에서 매일 복제하여 생성한 테이블 이벤트의 평균 수와 같아야 합니다. 계산된 24시간 총 T-log 크기를 사용 가능한 저장 공간과 비교하고 트랜잭션 처리를 위한 저장 공간이 충분한지 결정하세요.

일부 버전의 SQL Server에는 알려진 문제가 있습니다. pollinginterval 값이 3599초 이상으로 설정된 경우 기본값인 5초로 재설정됩니다. 이 경우 AWS DMS에서 T-Log 항목을 읽기 전에 해당 항목이 삭제됩니다. 이 문제에 대한 자세한 내용은 KB4459220 - FIX를 참조하세요. Microsoft 웹 사이트의 SQL Server에서 sys.sp_cdc_scan에서 “pollinginterval” 매개 변수를 몇 초에서 몇 시간으로 변환하면 잘못된 결과가 발생합니다.

AWS DMS 작업을 생성한 후 마이그레이션 작업의 상태를 모니터링하세요. 작업을 중지했다가 1시간 후에 다시 시작하면 작업이 실패할 수 있습니다. 앞서 언급한 문제 때문에 T-Log가 잘리고 필요한 로그 시퀀스 번호(LSN)가 AWS DMS에 없습니다. 이 문제가 발생하지 않도록 하려면 다음 단계를 완료하세요.

1.    캡처 작업을 중지하려면 다음 명령을 실행합니다.

use [DBName]
exec sys.sp_cdc_stop_job;

2.    AWS DMS 작업을 중지하고 나머지 모든 활동이 중지될 때까지 기다립니다.

3.    DMS 작업을 재개하고 AWS DMS 작업의 소스 지연 시간을 모니터링하여 동기화될 때까지 기다립니다.

4.    캡처 작업을 다시 시작하려면 다음 명령을 실행합니다.

use [DBName]
exec sys.sp_cdc_start_job;

소스 엔드포인트 생성

소스 엔드포인트를 생성하려면 AWS DMS를 사용하여 소스 또는 대상 엔드포인트를 생성하려면 어떻게 해야 합니까?의 단계를 따르십시오.

관련 정보

Microsoft SQL Server 문제 해결

Microsoft SQL Server 데이터베이스를 AWS 클라우드로 마이그레이션

Amazon RDS for SQL Server를 AWS DMS의 소스로 사용할 때 권장되는 설정

AWS DMS 작업에 CDC가 설정되어 있을 때 Amazon RDS for SQL Server 소스에서 T-Log 전체 문제를 해결하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 8달 전
댓글 없음