병합 복제의 충돌은 각 아티클에 지정된 해결 프로그램을 기반으로 해결됩니다. 기본적으로 충돌은 사용자 개입 없이 해결됩니다. 그러나 충돌을 볼 수 있으며 Microsoft 복제 충돌 뷰어에서 해결 결과를 변경할 수 있습니다.
충돌 데이터는 충돌 보존 기간(기본값: 14일)에 지정된 시간 동안 복제 충돌 뷰어에서 사용할 수 있습니다. 충돌 보존 기간을 설정하려면 다음 중 하나를 수행합니다.
sp_addmergepublication(Transact-SQL)의 @conflict_retention 매개 변수에 대한 보존 값을 지정합니다.
@property 매개 변수의 conflict_retention 값과 sp_changemergepublication(Transact-SQL)의 @value 매개 변수에 대한 보존 값을 지정합니다.
기본적으로 충돌 정보는 저장됩니다.
게시자 및 구독자에서 게시 호환성 수준이 90RTM 이상인 경우
게시자에서, 게시 호환성 수준이 80RTM보다 낮은 경우
구독자가 SQL Server Compact를 실행하는 경우 게시자에서 충돌 데이터는 SQL Server Compact 구독자에 저장할 수 없습니다.
충돌 정보의 스토리지는 conflict_logging 게시 속성에 의해 제어됩니다. 자세한 내용은 sp_addmergepublication(Transact-SQL) 및 sp_changemergepublication(Transact-SQL)를 참조하세요.
Microsoft Interactive Resolver를 사용하여 동기화하는 동안 충돌을 대화형으로 해결할 수도 있습니다. 대화형 확인자는 Microsoft Windows 동기화 관리자를 통해 사용할 수 있습니다. 자세한 내용은 Windows 동기화 관리자를 사용하여 구독 동기화(Windows 동기화 관리자)를 참조하세요.
병합 게시의 충돌을 보고 해결하려면
Microsoft SQL Server Management Studio에서 게시자(또는 해당하는 경우 구독자)에 연결한 다음 서버 노드를 확장합니다.
복제 폴더를 확장한 다음 로컬 게시 폴더를 확장합니다.
충돌을 보려는 게시를 마우스 오른쪽 단추로 클릭한 다음 충돌 보기를 클릭합니다.
비고
conflict_logging 속성에 대해 '구독자' 값을 지정한 경우 충돌 보기 메뉴 옵션을 사용할 수 없습니다. 충돌을 보려면 명령 프롬프트에서 ConflictViewer.exe 시작합니다. 기본적으로 ConflictViewer.exe Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE 디렉터리에 있습니다. 유효한 시작 매개 변수 목록을 보려면 ConflictViewer.exe -?. 실행합니다.
충돌 테이블 선택 대화 상자에서 충돌을 볼 데이터베이스, 게시 및 테이블을 선택합니다.
복제 충돌 뷰어에서 다음을 수행할 수 있습니다.
위쪽 눈금의 오른쪽에 있는 단추를 사용하여 행을 필터링합니다.
위쪽 눈금에서 행을 선택하여 해당 행의 정보를 아래쪽 표에 표시합니다.
위쪽 표에서 하나 이상의 행을 선택한 다음 [제거]를 클릭합니다. 이는 데이터를 변경하지 않고 [ 승자 제출 ] 단추를 클릭하는 것과 같습니다.
충돌과 관련된 열에 대한 자세한 내용을 보려면 속성 단추(...)를 클릭합니다.
데이터를 제출하기 전에 충돌 승자 또는 충돌 손실 자 열의 데이터를 편집합니다(열이 회색인 경우 데이터는 읽기 전용).
우승자 제출을 클릭하여 충돌의 승자로 지정된 행을 수락합니다.
패자 제출를 클릭하여 해결 방식을 무시하고 충돌의 패자로 지정된 값을 토폴로지의 모든 노드에 전파합니다.
충돌의 세부 정보를 기록을 선택하여 충돌 데이터를 파일에 기록합니다. 파일의 위치를 지정하려면 보기 메뉴를 가리킨 다음 [옵션]을 클릭합니다. 값을 입력하거나 찾아보기 단추(...)를 클릭한 다음 적절한 파일로 이동합니다. [확인]을 클릭하여 [옵션] 대화 상자를 종료합니다.
복제 충돌 뷰어를 닫습니다.