증상
Microsoft SQL Server 2008에서 트랜잭션 복제를 사용 하 고 있고 게시에서 실행 되는 업데이트 쿼리가 있는 것으로 가정 합니다. Sql Server를 SQL Server 2012 또는 SQL Server 2014로 업그레이드할 때 업데이트 쿼리가 업그레이드 전에 배포 되지 않으면 다음과 같은 오류가 발생 하 여 로그 판독기 에이전트에서 실패할 수 있습니다.
<Date> <Time> Publisher: {call sp_replcmds (500, 0, 0,, 0, 50만)}<날짜> <시간> 상태: 0, 코드: 20011, 텍스트: '이 프로세스는 ' Sp_replcmds Publisher 이름< '. '을 (를) 실행할 수 없습니다.<Date> <Time> '<Publisher 이름>'에서 ' sp_replcmds '을 (를) 실행할 수 없습니다.<Date> <Time> 복제 에이전트 상태: 6<날짜> <시간> 상태: 0, 코드: 542, 텍스트: ' 잘못 된 날짜/시간 값이 발견 되었습니다. 값이 9999. ' 1을 (를) 초과 합니다.<Date> <Time> 상태: 0, 코드: 3621, text: ' 문이 종료 되었습니다. '<Date> <Time> 상태: 0, 코드: 22037, 텍스트: ' 프로세스가 ' sp_replcmds ' on '<Publisher 이름>'. '을 실행할 수 없습니다.
이 문제가 발생 하지 않은 경우에도 update 문에 대 한 업그레이드 된 로그 레코드는 여전히 로그 판독기 에이전트에서 잘못 해석할 수 있으며 배포 에이전트에서 다음과 같은 오류가 발생할 수 있습니다.
515 열 '<열 이름>', 테이블 '<테이블 이름>'에 NULL 값을 삽입할 수 없습니다. 열에서 null을 허용 하지 않습니다. 업데이트에 실패 했습니다.
참고
-
데이터 형식 및 제약 조건이 다르기 때문에 다른 오류가 보고 될 수 있으며,이 문제로 인해 수렴이 적용 되지 않을 수 있습니다.
-
이 문제는 SQL Server 2008 또는 SQL Server 2008 R2에서 sql server 2012 또는 SQL server 2014로 업그레이드 하는 경우 발생 합니다.
해결 방법
"515에서 열 이름>'<열에 NULL 값을 삽입할 수 없는 경우 '<테이블 이름>'이 발생 합니다. 열에서 null을 허용 하지 않습니다. 배포 에이전트의 업데이트 실패 "이 (가) 발생 했습니다. 복제를 다시 초기화 해야 합니다. 이 핫픽스는이 오류를 해결 하지 않습니다. 이 오류를 방지 하려면 업그레이드 하기 전에 로그 판독기 에이전트를 사용 하지 않도록 설정한 다음이 해결 방법으로 업그레이드 한 다음 로그 판독기 에이전트를 다시 사용 하도록 설정 해야 합니다 .이 문제는 SQL Server의 다음과 같은 누적 업데이트에서 처음 수정 되었습니다.
SQL Server 2012 SP2에 대 한 누적 업데이트 2 /en-us/help/2983175
SQL Server 2014에 대 한 누적 업데이트 3 /en-us/help/2984923
SQL Server 2012 SP1 용 누적 업데이트 11 /en-us/help/2975396
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.