MSmerge_conflicts_info(Transact-SQL)
적용 대상: SQL Server
MSmerge_conflicts_info 테이블은 구독을 병합 게시에 동기화할 때 발생하는 충돌을 추적합니다. 충돌의 손실 행 데이터는 충돌이 발생한 아티클의 MSmerge_conflict_publication_article 테이블에 저장됩니다. 이 테이블은 게시 데이터베이스의 게시자와 구독 데이터베이스의 구독자에 저장됩니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
tablenick | int | 게시된 테이블의 애칭입니다. |
rowguid | uniqueidentifier | 충돌 행의 식별자입니다. |
origin_datasource | nvarchar(255) | 충돌하는 변경이 시작된 데이터베이스의 이름입니다. |
conflict_type | int | 발생한 충돌의 유형이며 다음 중 하나일 수 있습니다. 1 = 업데이트 충돌: 행 수준에서 충돌이 검색됩니다. 2 = 열 업데이트 충돌: 열 수준에서 검색된 충돌입니다. 3 = 업데이트 삭제가 충돌을 이긴다: 삭제가 충돌을 이긴다. 4 = 업데이트에서 삭제 충돌 발생: 충돌을 잃는 삭제된 rowguid가 이 테이블에 기록됩니다. 5 = 삽입 업로드 실패: 게시자에서 구독자의 삽입을 적용할 수 없습니다. 6 = 삽입 다운로드 실패: 구독자에서 게시자의 삽입을 적용할 수 없습니다. 7 = 삭제 업로드 실패: 구독자에서 삭제를 게시자에 업로드할 수 없습니다. 8 = 삭제 다운로드 실패: 게시자에서 삭제를 구독자에 다운로드할 수 없습니다. 9 = 업데이트 업로드 실패: 게시자에서 구독자의 업데이트를 적용할 수 없습니다. 10 = 다운로드 업데이트 실패: 게시자의 업데이트를 구독자에 적용할 수 없습니다. 11 = 해상도 12 = 논리 레코드 업데이트 우선 삭제: 충돌을 잃는 삭제된 논리 레코드가 이 테이블에 기록됩니다. 13 = 논리적 레코드 충돌 삽입 업데이트: 논리 레코드에 삽입이 업데이트와 충돌합니다. 14 = 논리 레코드 삭제에서 업데이트 충돌 발생: 충돌을 잃는 업데이트된 논리 레코드가 이 테이블에 기록됩니다. |
reason_code | int | 상황에 따른 오류 코드입니다. update-update 및 update-delete 충돌의 경우 이 열에 사용되는 값은 conflict_type 동일합니다. 그러나 실패한 변경 충돌의 경우 코드가 병합 에이전트 변경 사항을 적용하지 못하게 하는 오류입니다. 예를 들어 병합 에이전트 기본 키 위반으로 인해 구독자에서 삽입을 적용할 수 없는 경우 6의 conflict_type("다운로드 삽입 실패") 및 2627의 reason_code 기록합니다. 이는 기본 키 위반에 대한 SQL Server 내부 오류 메시지입니다. "%ls 제약 조건 '%.*ls'의 위반입니다. 개체 '%.*ls'에 중복 키를 삽입할 수 없습니다." |
reason_text | nvarchar(720) | 컨텍스트를 구분할 수 있는 오류 설명입니다. |
pubid | uniqueidentifier | 게시의 식별자입니다. |
MSrepl_create_time | 날짜/시간 | 충돌이 발생한 시간입니다. |
origin_datasource_id | uniqueidentifier | 충돌하는 변경이 시작된 데이터베이스의 식별자입니다. |