다음을 통해 공유


복제 충돌 검색 및 해결 방법

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

충돌 검색

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

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

SQL Server Mobile의 행 수준 추적

SQL Server 2000 게시자와 동기화할 경우 행이 삽입, 업데이트 또는 삭제되면 SQL Server Compact Edition 데이터베이스 엔진에서 추적을 호출합니다. 행 수준에서 충돌이 검색되면 동일한 열이 변경되었는지 여부에 관계없이 해당 행의 변경 내용은 충돌로 간주됩니다. 예를 들어 게시자에서는 행의 주소 열을 변경하고 구독자에서는 해당 행의 전화 번호 열을 변경할 수 있습니다. 행 수준 추적을 사용하면 동일한 행이 변경되었기 때문에 충돌이 검색됩니다.

[!참고] SQL Server 2000 게시자에서 열 수준 추적을 사용하도록 구성된 경우에도 SQL Server Compact Edition 에서는 모든 열이 변경된 것처럼 행을 표시합니다. 열 수준 추적은 SQL Server 2005 게시자에서만 지원됩니다.

해결 프로그램 사용

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

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

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

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

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

[!참고] SQL Server Mobile 구독은 저장 프로시저 기반 병합 충돌 해결 프로그램을 지원하지 않습니다.

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

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

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

참고 항목

도움말 및 정보

SQL Server Compact Edition 지원 정보 보기