다음을 통해 공유


고급 병합 복제 충돌 - 해결 프로그램 선택

적용 대상: SQL Server

해결 프로그램을 선택할 때는 애플리케이션에서 충돌 해결의 중요성을 고려하고 우선 순위를 기반으로 하는 기본 충돌 해결 프로그램을 사용할 수 있는지 또는 아티클 해결 프로그램을 사용해야 하는지 여부를 고려해야 합니다.

여러 사용자가 동일한 파티션에 쓰지 않고 데이터를 분할하고 복제 토폴로지가 비교적 기본적인 경우(게시자 하나와 구독자 몇 명) 충돌이 드물거나 존재하지 않아야 합니다. 이러한 환경에서는 복잡한 충돌 해결 전략이 필요하지 않을 수 있습니다. 따라서 충돌 해결에 기본 설정을 사용하는 전략과 클라이언트 구독자 및 최초 변경 내용을 적용하는 정책을 사용하는 것이 좋습니다. 토폴로지가 더 복잡한 경우(예: 구독자 재게시 사용) 특정 우선 순위가 있는 서버 구독이 더 적합할 수 있습니다.

비즈니스에 기본 해결 프로그램에서 제공하는 것 보다 더 세밀하게 조정된 솔루션이 필요한 경우에는 아티클 해결 프로그램을 사용하는 것이 좋습니다. 아티클 확인자를 사용하도록 선택하는 경우 비즈니스 논리 처리기를 사용하는 것이 좋습니다. 자세한 내용은 병합 동기화 중 비즈니스 논리 실행을 참조하세요.

궁극적으로 기본 해결 프로그램 또는 아티클 해결 프로그램을 사용할지 여부를 선택하는 것은 애플리케이션의 데이터 및 비즈니스 논리 요구 사항을 기반으로 해야 합니다. 예를 들어 고객 순위 데이터를 다른 구독자의 분할되지 않은 테이블 집합에 입력하는 직원을 고려합니다. 직원은 다양한 작업 범주(지점 관리자, 라인 관리자, 영업 직원)에 걸쳐 있으며, 작업 범주는 데이터를 우선 순위로 지정해야 하는 데이터를 결정합니다. 이 경우 아티클의 작업 범주 데이터를 사용하여 충돌이 발생하는 경우 승자를 결정하는 아티클 해결 프로그램을 빌드할 수 있습니다.

충돌이 일부 빈도로 발생할 가능성이 있는 경우 충돌 해결 전략을 구현할 때 고려해야 할 가장 중요한 결정은 다음과 같습니다.

충돌 해결 문제 추천
사용자 범주에 따라 우선 순위 값이 다릅니다. 기본 확인 프로그램을 사용하고 우선 순위 값이 다른 서버 구독을 만듭니다.

또는

문서에서 권한 값 열을 인식하는 아티클 해결 프로그램을 사용하여 충돌을 해결합니다.
최초 변경 내용을 적용하는 충돌 솔루션이 필요합니다. 기본 확인 프로그램을 사용하고 클라이언트 구독을 만듭니다.
동일한 열에 대해 충돌하는 변경이 없는 한 동일한 데이터 행을 변경하는 여러 사용자가 허용됩니다. 열 수준 추적을 사용하도록 설정된 기본 해결 프로그램 또는 아티클 해결 프로그램을 사용합니다.
행의 모든 값에 대한 여러 변경 내용을 충돌로 플래그를 지정합니다. 행 수준 추적을 사용하는 기본 해결 프로그램 또는 아티클 해결 프로그램을 사용합니다.
논리적 레코드의 모든 값에 대한 여러 변경 내용을 충돌로 플래그를 지정합니다. 논리적 레코드 수준 추적을 설정한 기본 해결 프로그램을 사용합니다. (논리적 레코드 기능은 사용자 지정 해결 프로그램 또는 비즈니스 논리 처리기를 지원하지 않습니다).
충돌 결과 데이터는 원래 충돌 데이터와 달라야 합니다. 새 값을 계산하는 아티클 해결 프로그램을 사용합니다.