MSSQL_REPL027183
적용 대상: SQL Server
Azure 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개 이상의 테이블 조인 필터를 생성하는 경우 다른 해결 방법을 고려합니다. 작은 테이블이나 변경 대상이 아니거나 주로 조회 테이블인 테이블을 필터링하지 마세요. 구독 간에 분할해야 하는 테이블 사이에서만 조인 필터를 사용합니다.
동기화 간에 필터링된 테이블에서 더 적은 수의 변경을 수행하거나 병합 에이전트 더 자주 실행합니다. 동기화 일정을 설정하는 방법에 대한 자세한 내용은 동기화 일정 지정을 참조 하세요.