다음을 통해 공유


복제 충돌 검색 및 해결 방법

최초 동기화 이후에 동기화가 발생하면 특정 구독자에 대한 데이터 변경 내용이 다른 구독자나 게시자의 변경 내용과 충돌할 수 있습니다. 게시를 만들 때 해결 프로그램을 지정하여 이러한 충돌을 처리합니다.

충돌 검색

동기화가 발생하면 게시자에서 실행되는 병합 에이전트는 모든 데이터 충돌을 검색한 다음 게시와 연관된 해결 프로그램을 기반으로 수락 및 다른 사이트에 전파할 데이터를 결정합니다.

Microsoft SQL Server Compact 3.5(SQL Server Compact 3.5)에서는 SQL Server 2005 및 SQL Server 2008 게시자와 동기화할 경우 행 수준 추적과 열 수준 추적을 모두 지원합니다.

참고

SQL Server 2000와의 동기화는 SQL Server Compact 3.5에서 지원되지 않습니다.

해결 프로그램 사용

충돌이 검색되면 병합 에이전트는 아티클에 대해 선택한 충돌 해결 프로그램을 시작합니다. 이 프로그램은 기본 해결 프로그램이거나, 지원되는 다른 해결 프로그램 중 하나이거나, 사용자 지정 해결 프로그램일 수 있습니다. 허용되는 변경 내용은 충돌 해결 프로그램의 규칙에 따라 선택됩니다. SQL Server Compact 3.5 구독자 충돌은 항상 게시자에서 검색되어 해결된 다음 기록됩니다.

중요

이제 다중 사용자 액세스는 동기화 중의 데이터 변경을 허용합니다. 이러한 변경으로 인해 클라이언트측 충돌이 발생할 수 있습니다. 클라이언트측 충돌은 구독자에서 검색되기는 하지만 해결되지는 않습니다. 이 충돌은 다음 동기화 중에 게시자에서 다시 검색되고 해결됩니다. 자세한 내용은 다중 사용자 액세스 및 동기화를 참조하십시오.

해결 프로그램은 변경된 데이터의 원본 또는 구독자의 우선 순위 값을 사용하여 충돌을 해결할 수 있습니다. 예를 들어 기본 해결 프로그램은 게시자의 변경 내용이 구독자의 변경 내용보다 항상 우선한다는 규칙을 따릅니다. 게시자의 변경 내용보다 구독자의 변경 내용을 항상 우선시하는 다른 해결 프로그램을 사용할 수도 있습니다.

참고

SQL Server Compact 3.5 클라이언트에는 항상 우선 순위 값 0이 지정됩니다. 따라서 우선 순위 값을 기반으로 하는 해결 프로그램은 장치의 변경 내용에 우선 순위를 지정하지 않습니다.

충돌 검색 및 해결에 대한 자세한 내용은 SQL Server 온라인 설명서의 "병합 복제 충돌 검색 및 해결"을 참조하십시오.

참고

SQL Server Compact 3.5 구독은 병합 충돌 해결 프로그램 기반 저장 프로시저를 지원하지 않습니다.

사용자 지정 해결 프로그램 사용

사용자 지정 해결 프로그램을 사용하여 복제에 비즈니스 논리를 추가할 수 있습니다. 사용자 지정 해결 프로그램은 관리되는 코드나 네이티브 코드로 작성된 DLL입니다. 사용자 지정 해결 프로그램을 사용하려면 IIS가 실행되는 서버와 게시자에서 저장 프로시저 sp_registercustomeresolver를 사용하여 등록해야 합니다. sp_registercustomeresolver 저장 프로시저에는 is_dotnet_assembly 매개 변수가 포함되어 있으며 이 매개 변수는 관리 코드로 작성된 해결 프로그램에 대해서는 true로, 네이티브 DLL에 대해서는 false로 설정합니다.

중요

사용자 지정 해결 프로그램은 SQL Server를 실행하는 컴퓨터뿐만 아니라 IIS를 실행하는 컴퓨터에서도 등록해야 합니다.

참고 항목

개념

행 수준 및 열 수준 추적 사용

도움말 및 정보

지원 받기(SQL Server Compact 3.5 서비스 팩 1)