2011-08-25 1 views
1

길고 혼동스러운 제목에 대해 사과드립니다.테이블이 ID 열을 사용하고 임의의 키와 일치해야 할 때 ms 동기화 프레임 워크를 사용하여 데이터베이스를 동기화하는 방법

세 데이터베이스를 동기화하려는 고객이 있습니다. (나중에 더 많을 수도 있습니다.) 세 데이터베이스의 모든 데이터는 다른 모든 데이터와 동기화되어야합니다. 이것은 전혀 실시간 일 필요는 없지만 야간이나 그와 비슷한 상황 일 것입니다.

이 데이터베이스는 식별 열을 기본/외부 키로 사용합니다.

주어진 레코드가 두 개 (또는 그 이상)의 데이터베이스에 독립적으로 추가 될 수 있지만 동일한 데이터가 될 수 있다는 것이 문제입니다. 예를 들어 123 메인 스트리트의 존 스미스 (John Smith)라는 고객 이름을 두 사이트 데이터베이스 모두에서 만들 수 있습니다. 이 경우 매번 새로운 레코드를 추가하는 대신 레코드를 병합하는 "일치 키"를 만들기 위해 FirstName LastName과 주소의 처음 8 자 (또는 전화 번호)를 원할 것입니다. 즉, 모든 동기화가 완료된 후 123 메인 스트리트의 John SMith에 대해 3 개의 데이터베이스 모두 하나의 레코드 만 있으면 좋겠습니다.

그런데 내가 생각하는 방식은 하나의 "마스터"데이터베이스를 클라우드에 호스팅하는 것입니다. 세 데이터베이스 모두이 마스터 데이터베이스와 양방향 동기화를 수행합니다.

내 주요 질문은 어떻게 작동합니까? 데이터베이스의 테이블에 대해 "일치 키"를 어떻게 정의합니까? 일치 키에 고유 한 제약 조건을 만드는 것만 큼 간단합니까? DB 스키마를 변경하지 않고이를 수행 할 수있는 방법이 있습니까? (나는이 생각하는 wiling 오전하지만 데이터베이스는 제 3 자와 변경 될 수 있습니다.)

세스

+0

데이터베이스 서버는 이러한입니까? 어떤 버전? –

답변

5

당신이 여분의 열을 추가 할 경우 사용자가 지정한 "키와 일치"를 기반으로 새 열을 생성 위. 그런 다음 Sync 프레임 워크가 해당 열을 PK로 사용하고 테이블의 실제 PK를 무시하도록 구성하십시오.

접근이 게시물에 비슷해야합니다

Part 3 – Synchronizing tables where Client and Server Primary Keys are different

+0

답변 해 주셔서 감사합니다. 매우 도움이됩니다. 문제. 새 열을 계산할 수 있는지 알고 계십니까? 감사. 세스 –

관련 문제