2016-10-05 2 views
1

시나리오 : 나는 라이브 데이터베이스가 고객과 함께 일하고 있어요일시 중지 트랜잭션 복제

. 별도의 서버에는이 데이터베이스의 복사본이 있으며 지속적으로 실행되는 트랜잭션 복제 설정이 있습니다. 데이터를보고 데이터베이스로 내보내는 데 최대 1 시간 동안 데이터베이스 복사본에서 실행되는 SSIS 패키지가 있습니다.

복제가 활성화 된 상태에서 패키지를 테스트했는데 여러 가지 실행 지점에서 여러 테이블을 읽는 중 때때로 실패합니다. 문제는 일부 데이터가 초기 단계에서 읽히고 이후에 삭제되거나 삽입되면 이후에 효과적으로 읽혀지는 다른 관련 레코드가 고아가되어 조회 실패를 유발한다는 것입니다. 모든 데이터를 제한하는 데 사용할 수있는 날짜가있는 것은 아니기 때문에 모든 데이터를 보호하는 것은 어렵습니다.

계획 : 패키지는 정적 데이터를 실행 한 다음 패키지가 실행되면 다시 활성화 할 수 있도록

내가, 복제 작업을 일시 중지에서 찾고있다. 복제가 다시 활성화되면 패키지 실행 중에 생성 된 라이브 데이터베이스의 모든 트랜잭션을 복사본에 적용해야합니다.

문제 :

내가 트랜잭션 복제에 사용되는 다양한 Replication Agents 주위에 약간의 독서를 한 적이 있지만이 최소 요구 사항은 복제를 일시 중지를 위해 무엇인지 전혀 모르겠어요.

현재 내가하고 싶은 것을 얻기 위해 Distribution AgentLog Reader Agent을 일시 중지하고 있습니다. 문제는 두 에이전트 작업을 모두 일시 중지해야합니까 아니면 둘 중 하나를 일시 중지하여 트랜잭션이 빌드되고 에이전트가 활성화 된 후에 적용 할 수 있습니까?

이 중 일부는 특정 구성이나 설정에 따라 좌우되는지 확실하지 않지만 필요한 경우 추가 정보를 제공 할 수 있으므로 자세한 정보가 필요하면 의견을 말하십시오.

답변

1

그러나 복제를 일시 중지하는 데 필요한 최소 요구 사항은 확실하지 않습니다.

복제 로그 판독기 에이전트가 게시자의 트랜잭션 로그를 읽고 유통 DB에 레코드를 삽입하고 또한 비활성으로 그 로그를 표시

아래처럼 작동

을 (TLOG 공간을 재사용 할 수 있도록) 이제 배포자 DB를 중지 할 때/복제를 일시 중지 할 수 있습니다 이제 ..

을 레코드를 읽고 가입자 데이터베이스에 삽입

1.Log 판독기 에이전트
오른쪽 클릭 작업 중지

또는

2.유통 에이전트
오른쪽 클릭 작업 중지

또는

모두

, 나는 두 에이전트 작업을 일시 중지 할 필요가 또는 내가 하나 이상의 트랜잭션이 구축되도록 서로를 일시 정지 할 수 있습니다 수행되는 질문 일단 에이전트가 활성화되면 적용됩니까? 당신은 단지 유통 에이전트를 일시 정지하는 경우

는, (내가 동일한 기능을 수행 할 것) 로그인 리더는 일이다 할 것 또한 출판사에 reusabilty를 로그에 대한 영향이 없습니다 또한 복제하는 경우, 같은이주의하는

이 24 시간

처럼 거대 할 것이다 replication.Though 대기 시간, 당신은 다시 초기화하는 최대 한도가 필요합니다 xrosses 당신은 또한이 활성화 된 후, 복제를 모니터링하기 위해 아래 링크를 사용할 수 있습니다

https://www.brentozar.com/archive/2014/07/monitoring-sql-server-transactional-replication/

+0

응답 해 주셔서 감사합니다. 따라서 배포자 상담원 만 일시 중지하겠다고 말하면 제가 수행 한 작업을 처리 할 수 ​​있습니까? – Tanner

+1

'복제가 다시 활성화되면 패키지 실행 중에 생성 된 실제 데이터베이스의 모든 트랜잭션을 복사본에 적용해야합니다.이 게시자라면 두 가지를 모두 중지하는 것이 좋습니다. – TheGameiswar

+0

어떻게해야할지 모르겠지만 잠금을 사용하지 않는 한 '나중에 고아가 될 것입니다'라는 메시지가 나타납니다. – TheGameiswar

관련 문제