2009-12-09 3 views
1

CRM 시스템에 병합 복제 설정이 있습니다. 판매 담당자는 네트워크에 연결할 때 데이터 병합 (SQL이 노트북이 연결된 것을 감지하면 컴퓨터를 연결 한 다음 랩톱을 가져 와서 다시 돌아올 때 병합합니다 (1 대의 서버를 통해 총 6 대의 랩톱이 병합됩니다).SQL Server 병합 복제 문제

이 시스템은 처음에는 잘 작동하지만 거의 한 달이 지나면 거의 멈추고 병합 작업이 사용자 당 거의 2 시간이 걸리고 서버는 어떤 방식으로도 고생하지 않습니다.

전체 발행물을 삭제하고 약 한 달이 지날 때까지 제대로 작동하는 것으로 보이는 모든 구독을 다시 만들면 같은 문제가 다시 발생합니다.

데이터베이스의 기본 키/색인 등이 부족하여 잘못 설계되었지만, 가장 큰 테이블에는 약 3000 개의 행만 있습니다.

왜 이런 일이 벌어지고 출판물을 삭제하고 다시 만들 때 데이터를 잃을 지 모르는 사람이 있습니까?

+0

사용자는 얼마나 자주 동기화합니까? 매월 실행되는 데이터를 작성하는 보고서 또는 관리자가 있습니까? – u07ch

+0

일부 사용자는 매일 PC를 동기화하므로 매일 70 % 정도의 네트워크에 있으며, 몇 시간 만 네트워크에 랩톱을 두어 번 또는 한 시간에 한 번씩 짧은 시간 동안 한 두 시간 정도만 사용할 수 있습니다 . 누군가가 필요로하는 정보가 더 있으면 commennt를 게시하십시오. 추가 변경 어떤 생각 이유를 폴링하기 전에 대기 60초 : –

+0

월 단위로 실행 아무것도 없다, 단지 마지막 동기화가 나는 복제 모니터에서 자주 메시지를 발견했습니다 지난 밤 –

답변

2

문제는 SQL Server 복제에서 생성 된 메타 데이터로, 3000 행 테이블을 emptys 및 refill하는 밤새 작업이 있습니다. 이로 인해 복제는 매일이 모든 행을 복제합니다.

구독이 만료되지 않도록 설정되었으므로 이전 메타 데이터가 SQL Server에서 절대 삭제되지 않았습니다.

구독 기간을 7 일로 설정 했으므로이 기간이 지나면 메타 데이터가 정리됩니다. 몇 가지 테스트를 수행했으며 구독이 만료되면 변경 사항이 손실되지 않았 음을 입증했습니다. 그러나 서버의 모든 업데이트는 클라이언트보다 우선 순위가있었습니다.

1

2008 R2에서 최근에 "추가 변경 사항을 폴링하기 전에 60 초 대기 중"이 발생했습니다.

복제 모니터는 복제의 "진행 상태"를 표시하지만 1 단계 (초기화)와 2 단계 (스키마 변경 및 대량 삽입) 만 수행되었습니다. 다른 단계가 실행되지 않은 이유는 무엇입니까?

이유는 간단했습니다. 병합 복제에서는 tcp/ip (또는 확실하지 않음)라는 이름의 파이프 프로토콜 활성화가 필요합니다.

오류 없음.

아마도 유사한 문제 (일종의 연결 문제)가 Ryan Stephens의 경우 분명 해졌을 것입니다.