2013-05-08 1 views
3

CDC Control Task 사용 방법에 관한 기사를 읽는 중 약간 문제가 있습니다. 특히, 나는 초기 하중을 처리 할 수없는 것처럼 보입니다. 즉, 후속 증분 하중이 초기 하중과 함께 끊김없이 (즉, 틈이없고 겹치지 않음) 원활하게 진행될 수 있습니다. 불행히도, 나는 정지 된 데이터베이스의 고급 스러움을 가지고 있지 않습니다 (즉 초기로드를 수행하는 동안 활성 변경이 있음). 여기에 내가 시도한 바가있다 :CDC 테이블의 초기로드를 어떻게 처리합니까?

모든 증분로드는 간단하다. 작업 범위가 "처리 범위 가져 오기"로 설정된 CDC 제어 작업, CDC 소스 및 ADO가있는 데이터 흐름 작업 .NET 대상 및 작업이 "표시 범위 처리됨"인 다른 CDC 제어 작업. 초기로드를 들어

, 나는 다음과 같은 두 가지 시나리오를 시도했다 :

작업이 나는이 작업을 위해 특별히 만든 데이터베이스 스냅 숏을 사용하여, "마크 CDC 시작"으로 설정되어있는

CDC 제어 태스크 . 유일한 다른 작업은 변경 테이블에서 직접 ADO.NET 대상을 읽는 ADO.NET 소스가있는 데이터 흐름 작업입니다. 이 시나리오에서는 초기로드가 잘 실행되지만 후속 증분로드는 처리 범위의 시작 LSN이 끝 LSN보다 큰 것을 나타내는데 실패합니다.

내가 시도한 다른 초기로드에는 작업이 "초기로드 시작 표시"로 설정되어있는 CDC 제어 작업이 있습니다 (위의 경우와 동일한 데이터 흐름이지만 이번에는 데이터베이스 대신 라이브 데이터베이스에서 제외됨). 스냅 샷) 및 조작이 "초기로드 종료 표시"인 또 다른 CDC 제어 태스크. 이 시나리오에서는 증분로드를 실행할 때 중복 된 CDC 레코드가 처리됩니다.

무엇이 누락 되었습니까?

답변

0

This 페이지 변경 처리시 상기 처리 된 변화 중 일부는 이미 (예를 들어, 초기 하중에서 보이는 바와 같이, 초기 부하에 병렬로 변경 처리시

은주의가 있어야한다고, 삽입로드가 초기로드 프로세스에 의해 읽혀지기 때문에 중복 키 오류로 인해 삽입 변경이 실패 할 수 있습니다.