방법: 매개 변수가 있는 행 필터 최적화(복제 Transact-SQL 프로그래밍)
매개 변수가 있는 필터를 사용하는 경우 게시를 만들 때 use partition groups 옵션 또는 keep partition changes 옵션을 지정하여 병합 복제에서 필터가 처리되는 방법을 제어할 수 있습니다. 이러한 옵션은 게시 데이터베이스에 추가 메타데이터를 저장함으로써 필터링된 아티클이 있는 게시의 동기화 성능을 개선합니다. 아티클을 만들 때 partition options를 설정하면 구독자 간에 데이터가 공유되는 방법을 제어할 수 있습니다.
이러한 요구 사항에 대한 자세한 내용은 매개 변수가 있는 행 필터를 참조하십시오. @keep_partition_changes 및 @use_partition_groups에 대한 필터링 옵션의 정의는 sp_addmergepublication을 참조하십시오.
새 게시를 만들 때 병합 필터 최적화를 지정하려면
게시 데이터베이스의 게시자에서 sp_addmergepublication을 실행합니다. @publication을 지정하고 다음 매개 변수 중 하나에 true 값을 지정합니다.
@use_partition_groups: - 아티클이 사전 계산 파티션의 요구 사항을 충족하는 경우 가장 높은 성능 최적화를 제공합니다. 자세한 내용은 사전 계산 파티션으로 매개 변수가 있는 필터 성능 최적화를 참조하십시오.
@keep_partition_changes - 사전 계산 파티션을 사용할 수 없는 경우에는 이 최적화를 사용하십시오.
게시에 대한 스냅숏 작업을 추가합니다. 자세한 내용은 방법: 게시 만들기(복제 Transact-SQL 프로그래밍)를 참조하십시오.
게시 데이터베이스의 게시자에서 sp_addmergearticle을 실행하고 다음 매개 변수를 지정합니다.
@publication - 1단계에서 만든 게시의 이름입니다.
@article - 아티클의 이름.
@source_object - 게시되는 데이터베이스 개체.
@subset_filterclause - 아티클을 행 필터링하는 데 사용되는 선택적인 매개 변수가 있는 필터 절.
@partition_options - 필터링된 아티클에 대한 파티션 옵션.
게시의 각 아티클에 대해 3단계를 반복합니다.
필요에 따라 게시 데이터베이스의 게시자에서 sp_addmergefilter를 실행하여 두 아티클 간의 조인 필터를 정의합니다. 자세한 내용은 방법: 병합 아티클 간의 조인 필터 정의 및 수정(복제 Transact-SQL 프로그래밍)을 참조하십시오.
기존 게시에 대한 병합 필터 동작을 확인 및 수정하려면
필요에 따라 게시 데이터베이스의 게시자에서 sp_helpmergepublication을 실행하고 @publication을 지정합니다. 결과 집합에서 keep_partition_changes 및 use_partition_groups 값을 확인합니다.
필요에 따라 게시 데이터베이스의 게시자에서 sp_changemergepublication을 실행합니다. @property에 use_partition_groups 값을 지정하고 @value에 true 또는 false를 지정합니다.
필요에 따라 게시 데이터베이스의 게시자에서 sp_changemergepublication을 실행합니다. @property에 keep_partition_changes 값을 지정하고 @value에 true 또는 false를 지정합니다.
[!참고]
keep_partition_changes를 설정할 때는 먼저 use_partition_groups를 해제하고 @force_reinit_subscription에 1 값을 지정해야 합니다.
필요에 따라 게시 데이터베이스의 게시자에서 sp_changemergearticle을 실행합니다. @property에 partition_options 값을 지정하고 @value에는 적절한 값을 지정합니다. 이러한 필터링 옵션의 정의는 sp_addmergearticle을 참조하십시오.
필요에 따라 스냅숏 에이전트를 시작하여 스냅숏을 다시 생성합니다. 새 스냅숏을 생성해야 하는 변경에 대한 자세한 내용은 게시 및 아티클 속성 변경을 참조하십시오.