EXEC sys.sp_cdc_change_job @job_type = 'capture' ,@pollinginterval = 3599;
GO
SQL Server 인스턴스에 대한 지속적인 복제를 구성할 때는 pollinginterval을 설정하여 변경 내용을 하루(86,400초) 동안 보존하는 것이 좋습니다. 지정된 보존 기간 동안 T-log를 위한 충분한 저장 공간이 있는지 확인하세요. 예를 들어 보존 기간이 24시간인 경우 캡처 작업에서 maxscans 및 maxtrans 값을 조정하세요. 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 작업의 소스 지연 시간을 모니터링하여 동기화될 때까지 기다립니다.