다음을 통해 공유


방법: 매개 변수가 있는 필터로 병합 게시에 대한 파티션 관리(RMO 프로그래밍)

매개 변수가 있는 필터를 사용하여 게시를 보다 잘 관리하려면 RMO(복제 관리 개체)를 사용하여 새 구독자 파티션을 프로그래밍 방식으로 만들고, 기존 구독자 파티션을 열거하고, 프로그래밍 방식으로 열거합니다. 구독자 파티션을 만드는 방법은 방법: 매개 변수가 있는 필터를 사용하여 병합 게시에 대한 스냅숏 만들기(RMO 프로그래밍)를 참조하십시오. 기존 파티션에 대한 다음 정보를 가져올 수 있습니다.

  • 파티션에서 기반으로 사용하는 값 및 필터링 기능

  • 구독자에 대해 매개 변수가 있는 스냅숏을 생성하는 작업의 이름

  • 매개 변수가 있는 스냅숏 작업이 마지막으로 실행된 시간

[!참고]

겹치지 않는 파티션과 함께 구독을 생성하는 매개 변수가 있는 필터가 게시에 사용된 경우 특정 구독이 손실되어 다시 만들어야 하면 다음 작업을 수행해야 합니다. 구독된 파티션을 제거하고 구독을 다시 만든 다음 파티션을 다시 만듭니다. 자세한 내용은 매개 변수가 있는 행 필터를 참조하십시오. 복제에서는 게시 만들기 스크립트가 생성될 때 기존 구독자 파티션에 대한 만들기 스크립트를 생성합니다. 자세한 내용은 복제 스크립팅을 참조하십시오.

기존 파티션의 정보를 보려면

  1. ServerConnection 클래스를 사용하여 게시자 연결을 만듭니다.

  2. MergePublication 클래스의 인스턴스를 만듭니다. 게시의 NameDatabaseName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 ServerConnection으로 설정합니다.

  3. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 2단계에서 게시 속성이 올바르게 정의되지 않았거나 해당 게시가 없는 것입니다.

  4. EnumMergePartitions 메서드를 호출하고 해당 결과를 MergePartition 개체의 배열에 전달합니다.

  5. 배열의 각 MergePartition 개체에 대해 원하는 속성을 가져옵니다.

기존 파티션을 삭제하려면

  1. ServerConnection 클래스를 사용하여 게시자 연결을 만듭니다.

  2. MergePublication 클래스의 인스턴스를 만듭니다. 게시의 NameDatabaseName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 ServerConnection으로 설정합니다.

  3. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 2단계에서 게시 속성이 올바르게 정의되지 않았거나 해당 게시가 없는 것입니다.

  4. EnumMergePartitions 메서드를 호출하고 해당 결과를 MergePartition 개체의 배열에 전달합니다.

  5. 배열의 각 MergePartition 개체에 대해 파티션을 삭제할지 여부를 결정합니다. 이를 결정할 때는 일반적으로 DynamicFilterLogin 속성이나 DynamicFilterHostName 속성의 값을 기준으로 합니다.

  6. 2단계에서 만든 MergePublication 개체의 RemoveMergePartition 메서드를 호출하고 5단계에서 만든 MergePartition 개체를 전달합니다.

  7. 삭제된 각 파티션에 대해 6단계를 반복합니다.