MSSQL_REPL027183

적용 대상:SQL ServerAzure SQL Managed Instance

메시지 세부 정보

attribute
제품 이름 SQL Server
이벤트 ID 27183
이벤트 원본 MSSQLSERVER
구성 요소 SQL Server 데이터베이스 엔진
심볼 이름
메시지 텍스트 병합 프로세스에서 매개 변수가 있는 행 필터를 사용하여 아티클의 변경 내용을 열거하지 못했습니다. 이 오류가 계속되면 이 프로세스에 대한 쿼리 시간 제한을 늘리고 게시 보존 기간을 줄이며 게시된 테이블의 인덱스를 개선합니다.

설명

이 오류는 필터링된 게시에서 변경 내용을 처리하는 동안 병합 에이전트 시간 제한이 발생하는 경우에 발생합니다. 시간 제한은 다음 문제 중 하나로 인해 발생할 수 있습니다.

  • 미리 계산된 파티션 최적화를 사용하지 않습니다.

  • 열의 인덱스 조각화가 필터링에 사용되었습니다.

  • MSmerge_tombstone, MSmerge_contents 및 MSmerge_genhistory 같은 큰 병합 메타데이터 테이블입니다.

  • 필터링된 테이블이 고유 키에 조인되어 있지 않고 많은 테이블이 조인 필터와 관련되어 있습니다.

사용자 작업

문제를 해결하려면:

  • 오류를 일으킨 기본 문제를 해결하는 동안 병합 에이전트에서 계속 처리 작업을 수행하려면 -QueryTimeOut 매개 변수의 값을 늘립니다. 에이전트 매개 변수는 에이전트 프로필 및 명령줄에서 지정할 수 있습니다. 자세한 내용은 다음을 참조하십시오.

  • 가능한 경우 미리 계산된 파티션 최적화를 사용합니다. 이 최적화는 여러 게시 요구 사항이 충족되는 경우 기본적으로 사용됩니다. 이러한 요구 사항에 대한 자세한 내용은 사전 계산 파티션으로 매개 변수가 있는 필터 성능 최적화를 참조하세요. 게시가 이러한 요구 사항을 충족하지 않는 경우 게시를 다시 디자인하는 것이 좋습니다.

  • 복제는 보존 기간에 도달할 때까지 게시 및 구독 데이터베이스의 메타데이터를 정리할 수 없으므로 게시 보존 기간에 대해 가능한 가장 낮은 설정을 지정합니다. 자세한 내용은 Subscription Expiration and Deactivation을(를) 참조하세요.

  • 병합 복제 유지 관리의 일환으로 MSmerge_contents, MSmerge_genhistory 및 MSmerge_tombstone, MSmerge_current_partition_mappings 및 MSmerge_past_partition_mappings 병합 복제관련된 시스템 테이블의 증가를 확인하는 경우도 있습니다. 이러한 테이블의 인덱스를 주기적으로 다시 만듭니다. 자세한 내용은 인덱스 다시 구성 및 다시 작성을 참조하세요.

  • 필터링에 사용되는 열이 제대로 인덱싱되었는지 확인하고 필요한 경우 이러한 인덱스를 다시 작성합니다. 자세한 내용은 인덱스 다시 구성 및 다시 작성을 참조하세요.

  • 고유한 열을 기반으로 하는 조인 필터에 대한 join_unique_key 속성을 설정합니다. 자세한 내용은 Join Filters를 참조하세요.

  • 조인 필터 계층 구조의 테이블 수를 제한합니다. 5개 이상의 테이블 조인 필터를 생성하는 경우 다른 해결 방법을 고려합니다. 작은 테이블이나 변경 대상이 아니거나 주로 조회 테이블인 테이블을 필터링하지 마세요. 구독 간에 분할해야 하는 테이블 사이에서만 조인 필터를 사용합니다.

  • 동기화 간에 필터링된 테이블에서 더 적은 수의 변경을 수행하거나 병합 에이전트를 더 자주 실행합니다. 동기화 일정을 설정하는 방법에 대한 자세한 내용은 동기화 일정 지정을 참조 하세요.

참고 항목

오류 및 이벤트 참조(복제)