시나리오 : 나는 라이브 데이터베이스가 고객과 함께 일하고 있어요일시 중지 트랜잭션 복제
. 별도의 서버에는이 데이터베이스의 복사본이 있으며 지속적으로 실행되는 트랜잭션 복제 설정이 있습니다. 데이터를보고 데이터베이스로 내보내는 데 최대 1 시간 동안 데이터베이스 복사본에서 실행되는 SSIS 패키지가 있습니다.
복제가 활성화 된 상태에서 패키지를 테스트했는데 여러 가지 실행 지점에서 여러 테이블을 읽는 중 때때로 실패합니다. 문제는 일부 데이터가 초기 단계에서 읽히고 이후에 삭제되거나 삽입되면 이후에 효과적으로 읽혀지는 다른 관련 레코드가 고아가되어 조회 실패를 유발한다는 것입니다. 모든 데이터를 제한하는 데 사용할 수있는 날짜가있는 것은 아니기 때문에 모든 데이터를 보호하는 것은 어렵습니다.
계획 : 패키지는 정적 데이터를 실행 한 다음 패키지가 실행되면 다시 활성화 할 수 있도록
내가, 복제 작업을 일시 중지에서 찾고있다. 복제가 다시 활성화되면 패키지 실행 중에 생성 된 라이브 데이터베이스의 모든 트랜잭션을 복사본에 적용해야합니다.
문제 :
내가 트랜잭션 복제에 사용되는 다양한 Replication Agents 주위에 약간의 독서를 한 적이 있지만이 최소 요구 사항은 복제를 일시 중지를 위해 무엇인지 전혀 모르겠어요.
현재 내가하고 싶은 것을 얻기 위해 Distribution Agent과 Log Reader Agent을 일시 중지하고 있습니다. 문제는 두 에이전트 작업을 모두 일시 중지해야합니까 아니면 둘 중 하나를 일시 중지하여 트랜잭션이 빌드되고 에이전트가 활성화 된 후에 적용 할 수 있습니까?
이 중 일부는 특정 구성이나 설정에 따라 좌우되는지 확실하지 않지만 필요한 경우 추가 정보를 제공 할 수 있으므로 자세한 정보가 필요하면 의견을 말하십시오.
응답 해 주셔서 감사합니다. 따라서 배포자 상담원 만 일시 중지하겠다고 말하면 제가 수행 한 작업을 처리 할 수 있습니까? – Tanner
'복제가 다시 활성화되면 패키지 실행 중에 생성 된 실제 데이터베이스의 모든 트랜잭션을 복사본에 적용해야합니다.이 게시자라면 두 가지를 모두 중지하는 것이 좋습니다. – TheGameiswar
어떻게해야할지 모르겠지만 잠금을 사용하지 않는 한 '나중에 고아가 될 것입니다'라는 메시지가 나타납니다. – TheGameiswar