다음을 통해 공유


MSSQL_ENG020598

메시지 상세 정보

제품 이름

SQL Server

제품 버전

10.0

제품 빌드 번호

 

이벤트 ID

20598

이벤트 원본

MSSQLSERVER

구성 요소

SQL Server 데이터베이스 엔진

심볼 이름

메시지 텍스트

복제된 명령을 적용하는 동안 구독자에서 행을 찾을 수 없습니다.

설명

배포 에이전트가 구독자에서 행을 업데이트하려고 하지만 해당 행이 삭제되었거나 해당 행의 기본 키가 변경된 경우 트랜잭션 복제에서 이 오류가 발생합니다. 기본적으로 변경 내용은 게시자로 다시 전파되지 않기 때문에 트랜잭션 게시에 대한 구독자는 읽기 전용으로 취급됩니다. 트랜잭션 복제의 경우 업데이트할 수 있는 구독이나 피어 투 피어 복제를 사용하는 경우에만 사용자가 구독자에서 변경해야 합니다. 이러한 옵션에 대한 자세한 내용은 트랜잭션 복제를 위한 업데이트 가능 구독피어 투 피어 트랜잭션 복제를 참조하십시오.

사용자 동작

이 문제를 해결하려면

  1. 오류 원인을 식별하는 동안 복제가 계속되어야 하는 경우 배포 에이전트에 매개 변수 -SkipErrors 20598을 지정합니다. 이렇게 하면 에이전트는 오류 20598이 발생한 변경 내용을 건너뛰고 다른 변경 내용을 복제할 수 있습니다. 자세한 내용은 트랜잭션 복제의 오류 건너뛰기를 참조하십시오.

  2. 구독자에서 삭제되었거나 기본 키가 게시자의 해당 행과 일치하지 않는 행을 식별합니다. tablediff 유틸리티를 사용하여 게시 및 구독 데이터베이스에서 일치하지 않는 행을 확인할 수 있습니다. 복제된 데이터베이스에서 이 유틸리티를 사용하는 방법은 방법: 복제된 테이블의 차이점 비교(복제 프로그래밍)를 참조하십시오.

  3. tablediff 유틸리티나 다른 방법을 사용하여 구독자에서 행을 수정합니다.

  4. (옵션) -SkipErrors 매개 변수를 제거합니다.