MSSQL_REPL027183
메시지 상세 정보
제품 이름 |
SQL Server |
제품 버전 |
10.0 |
제품 빌드 번호 |
|
이벤트 ID |
27183 |
이벤트 원본 |
MSSQLSERVER |
구성 요소 |
SQL Server 데이터베이스 엔진 |
심볼 이름 |
|
메시지 텍스트 |
병합 프로세스에서 매개 변수가 있는 행 필터를 사용하여 아티클의 변경 내용을 열거하지 못했습니다. 이 오류가 계속되면 이 프로세스에 대한 쿼리 제한 시간을 늘리고 게시 보존 기간을 줄인 다음 게시된 테이블의 인덱스를 향상시키십시오. |
설명
이 오류는 필터링된 게시에서 변경 내용을 처리하는 동안 병합 에이전트 제한 시간에 도달한 경우 발생합니다. 다음 문제 중 하나로 인해 제한 시간에 도달했을 수 있습니다.
사전 계산 파티션 최적화를 사용하지 않았습니다.
열의 인덱스 조각화가 필터링에 사용되었습니다.
MSmerge_tombstone, MSmerge_contents, MSmerge_genhistory와 같은 큰 병합 메타데이터 테이블이 있습니다.
필터링된 테이블이 고유 키에 조인되어 있지 않고 많은 테이블이 조인 필터와 관련되어 있습니다.
사용자 동작
이 문제를 해결하려면
오류를 일으킨 기본 문제를 해결하는 동안 병합 에이전트에서 계속 처리 작업을 수행하려면 -QueryTimeOut 매개 변수의 값을 늘립니다. 에이전트 프로필 및 명령줄에서 에이전트 매개 변수를 지정할 수 있습니다. 자세한 내용은 아래의 항목을 참조하십시오.
사전 계산 파티션 최적화를 사용합니다(가능한 경우). 많은 게시 요구 사항이 충족되면 이 최적화가 기본적으로 사용됩니다. 이러한 요구 사항에 대한 자세한 내용은 사전 계산 파티션으로 매개 변수가 있는 필터 성능 최적화를 참조하십시오. 게시가 이러한 요구 사항을 충족하지 않는 경우 게시를 다시 디자인하십시오.
복제는 보존 기간에 도달할 때까지 게시 및 구독 데이터베이스의 메타데이터를 정리할 수 없으므로 게시 보존 기간에 대해 가능한 가장 낮은 설정을 지정합니다. 자세한 내용은 구독 만료 및 비활성화를 참조하십시오.
병합 복제 유지 관리의 한 부분으로 병합 복제와 연결된 MSmerge_contents, MSmerge_genhistory 및 MSmerge_tombstone, MSmerge_current_partition_mappings 및 MSmerge_past_partition_mappings 시스템 테이블의 증가를 확인하십시오. 이러한 테이블의 인덱스를 주기적으로 다시 만듭니다. 자세한 내용은 인덱스 다시 구성 및 다시 작성을 참조하십시오.
필터링에 사용된 열이 올바로 인덱싱되는지 확인하고 이러한 인덱스를 다시 작성합니다(필요한 경우). 자세한 내용은 인덱스 다시 구성 및 다시 작성을 참조하십시오.
고유 열을 기반으로 하는 조인 필터에 대해 join_unique_key 속성을 설정합니다. 자세한 내용은 조인 필터를 참조하십시오.
조인 필터 계층에서 테이블의 수를 제한합니다. 5개 이상의 테이블로 조인 필터를 생성할 경우 다른 방법을 고려하십시오. 크기가 작거나, 변경될 가능성이 없거나, 기본적으로 조회 테이블에 해당하는 테이블은 필터링하지 않습니다. 구독 간에 분할해야 하는 테이블 사이에서만 조인 필터를 사용합니다.
동기화 사이에 있는 필터링된 테이블에 대한 변경 횟수를 줄이거나 병합 에이전트를 더 자주 실행합니다. 동기화 일정 설정 방법은 방법: 동기화 일정 설정(SQL Server Management Studio) 및 방법: 동기화 일정 지정(복제 Transact-SQL 프로그래밍)을 참조하십시오.