증상

Microsoft SQL Server 2012 또는 SQL Server 2012 서비스 팩 1(sp1)에서 게시자가 실행 중인 병합 복제를 사용 한다고 가정 합니다. SQL Server 2012 서비스 팩 2 (SP2)로 게시자를 업그레이드 한 후에는 병합 에이전트를 다시 시작할 수 없습니다. 또한 다음과 같은 오류가 나타납니다.

병합 프로세스에서 ' MergePub ' 데이터베이스의 보존 기반 메타 데이터 정리를 수행할 수 없습니다. 이 오류가 계속 되 면이 프로세스에 대 한 쿼리 제한 시간을 늘리거나 보존 기간을 줄여 보세요. 문제를 해결 하려면 자세한 기록 로깅으로 동기화를 다시 시작 하 고 기록할 출력 파일을 지정 합니다.

게시자에서 sp_mergemetadataretentioncleanup 저장 프로시저를 수동으로 실행 하면 저장 프로시저가 실패 하 고 다음 오류가 표시 됩니다.

메시지 206, 수준 16, 상태 2, 프로시저 sp_mergemetadataretentioncleanup, 줄 6 3 피연산자 형식 충돌: bigint는 uniqueidentifierMsg 206, 수준 16, 상태 2, 프로시저 sp_mergemetadataretentioncleanup, 줄 65Operand 형식 충돌: int는 uniqueidentifier와 호환 되지 않습니다.

각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.

해결 방법

이 문제를 해결 하려면 게시 된 데이터베이스에서 다음 쿼리를 실행 합니다.if exists (select * from sys.columns sc inner join sys.types st on sc.system_type_id = st.system_type_id where object_id = object_id('dbo.sysmergesubscriptions') and sc.name = 'last_local_recgen' and st.name = 'uniqueidentifier') begin alter table dbo.sysmergesubscriptions drop column last_local_recgen alter table dbo.sysmergesubscriptions add last_local_recgen bigint null end

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.