증상
Microsoft SQL Server 2008 및 이후 버전의 SQL Server에서 병합 복제를 동기화하는 동안 병합 에이전트가 실패할 수 있습니다. 또한 다음과 같은 오류 메시지가 나타납니다.
병합 에이전트는 보존 기반 메타데이터 정리가 아직 게시자에게 전송되지 않은 변경 내용에 대해 구독자에서 메타데이터를 삭제했다는 것을 검색한 후 실패했습니다. 업로드 하지 않고 구독을 다시 초기화 해야 합니다. (출처: MSSQL_REPL, 오류 번호: MSSQL_REPL-214719401) 도움말: http://help/MSSQL_REPL-2147199401
이 문제는 여러 가지 이유로 발생할 수 있습니다. 여기에는 특정 상황에서 예상되는 많은 이유가 포함됩니다. 예기치 않게 이 오류가 발생했는지 확인하려면 "원인" 절에 설명된 메타데이터 세부 정보를 검사합니다.
원인
이 문제의 원인은 구독자의 다음 시스템 테이블에서 찾을 수 있습니다.
-
dbo.sysMergeSubscriptions
-
dbo.MsMerge_Genhistory
병합 에이전트가 더 이상 동기화되지 않았는지 확인합니다. 그런 다음 다음 쿼리를 실행하고 결과를 검사합니다.
구독자DB.dbo.sysMergeSubscriptions에서 전송을 선택 pubid = subid 및 sentgen이 null이 아닌 경우
세대 >= 세대별로 sentgen_value 순서를 생성 >= 가입자DB.dbo.MSmerge_genhistory 에서 상위 20 * 선택쿼리의 출력은 다음과 유사해야
-
첫 번째 행의 생성 열의 값은 이전 쿼리의 sentgen 값보다 약간 큽습니다.
-
genstatus 열의 값은 4입니다.
-
변경 카운트 열의 값은 0입니다.
참고 사항 첫 번째 행의 coldate 열 값은 일반적으로 다른 행의 해당 열 값보다 훨씬 오래됩니다.
해결 방법
이 문제를 해결하려면 오류를 생성한 구독자를 다시 초기화합니다. 일부 시나리오에서는 전체 초기화 없이 이 문제를 해결할 수 있습니다. 가능한 해결 방법을 보려면 Microsoft 고객 지원 서비스에 문의하십시오. 이 문제가 나중에 발생하지 않도록 하려면 SQL Server 버전에 따라 다음 수정 사항 중 하나를 적용합니다.
누적 업데이트 정보
SQL Server 2008
SQL Server 2008에는 이 문제에 대한 수정 프로그램이 없습니다.
SQL Server 2008 R2 서비스 팩 2
이 문제에 대한 수정 프로그램은 누적 업데이트 3에서 처음 릴리스되었습니다. SQL Server 2008 R2 서비스 팩 2에 대한 이 누적 업데이트 패키지를 가져오는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 봅니다.
SQL Server 2008 R2 서비스 팩 2에 대한 2754552 누적 업데이트 패키지 3참고 사항 빌드가 누적되므로 각 새 수정 릴리스에는 이전 SQL Server 2008 R2 서비스 팩 2 수정 릴리스에 포함된 모든 핫픽스와 모든 보안 수정 사항이 포함되어 있습니다. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 봅니다.
2730301 SQL Server 2008 R2 서비스 팩 2가 릴리스된 후 릴리스된 SQL Server 2008 R2 빌드
SQL Server 2012
이 문제에 대한 수정 프로그램은 누적 업데이트 4에서 처음 릴리스되었습니다. SQL Server 2012에 대한 이 누적 업데이트 패키지를 가져오는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 봅니다.
SQL Server 2012에 대한 2758687 누적 업데이트 패키지 4참고 사항 빌드가 누적되므로 각 새 수정 릴리스에는 이전 SQL Server 2012 수정 릴리스에 포함된 모든 핫픽스와 모든 보안 수정 사항이 포함되어 있습니다. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 봅니다.
2692828 SQL Server 2012 릴리스 후 릴리스된 SQL Server 2012 빌드
SQL Server 2008 R2 서비스 팩 1
이 문제에 대한 수정 프로그램은 누적 업데이트 8에서 처음 릴리스되었습니다. SQL Server 2008 R2 서비스 팩 1에 대한 이 누적 업데이트 패키지를 가져오는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 봅니다.
SQL Server 2008 R2 SP1의 누적 업데이트 패키지 8 2723743참고 사항 빌드가 누적되므로 각 새 수정 릴리스에는 이전 SQL Server 2008 R2 서비스 팩 1 수정 릴리스에 포함된 모든 핫픽스와 모든 보안 수정 사항이 포함되어 있습니다. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 봅니다.
2567616 SQL Server 2008 R2 SP1 릴리스 후 릴리스된 SQL Server 2008 R2 빌드