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