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

매개 변수가 있는 행 필터를 사용하여 겹치지 않는 파티션을 생성할 수 있습니다. 이러한 파티션을 제한하여 특정 파티션을 하나의 구독에서만 받도록 할 수 있습니다. 이러한 경우 구독자 수가 많으면 파티션 수가 많아지고 이에 따라 동일한 수의 분할된 스냅숏이 필요합니다. 자세한 내용은 매개 변수가 있는 행 필터를 참조하십시오. 매개 변수가 있는 필터를 사용하여 게시를 보다 잘 관리하려면 복제 저장 프로시저를 사용하여 기존 파티션을 프로그래밍 방식으로 열거합니다. 파티션을 만들거나 기존 파티션을 삭제할 수도 있습니다. 기존 파티션의 다음 정보를 가져올 수 있습니다.

두 부분으로 구성된 스냅숏의 두 번째 부분은 새 구독이 초기화될 때 요청에 따라 생성될 수 있지만, 아래의 절차를 사용하면 이 스냅숏이 생성되는 방식을 제어하고 가장 편리할 때 이 스냅숏을 미리 생성할 수 있습니다. 자세한 내용은 매개 변수가 있는 필터를 사용하는 병합 게시의 스냅숏을 참조하십시오.

[!참고]

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

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

  • 게시 데이터베이스의 게시자에서 sp_helpmergepartition(Transact-SQL)을 실행합니다. @publication에 게시 이름을 지정합니다. (옵션) 단일 필터링 조건을 기준으로 한 정보만 반환되도록 하려면 @suser_sname 또는 @host_name을 지정합니다.

새 파티션을 정의하고 분할된 새 스냅숏을 생성하려면

  1. 게시 데이터베이스의 게시자에서 sp_addmergepartition(Transact-SQL)을 실행합니다. @publication에 게시 이름을 지정하고 다음 중 하나에 파티션을 정의하는 매개 변수가 있는 값을 지정합니다.

    • @suser_sname - 매개 변수가 있는 필터가 SUSER_SNAME(Transact-SQL)에 의해 반환된 값으로 정의된 경우

    • @host_name - 매개 변수가 있는 필터가 HOST_NAME(Transact-SQL)에 의해 반환된 값으로 정의된 경우

  2. 이 새 파티션에 대해 매개 변수가 있는 스냅숏을 만들고 초기화합니다. 자세한 내용은 방법: 매개 변수가 있는 필터를 사용하여 병합 게시에 대한 스냅숏 만들기(복제 Transact-SQL 프로그래밍)를 참조하십시오.

파티션을 삭제하려면

  • 게시 데이터베이스의 게시자에서 sp_dropmergepartition(Transact-SQL)을 실행합니다. @publication에 게시 이름을 지정하고 다음 중 하나에 파티션을 정의하는 매개 변수가 있는 값을 지정합니다.

    • @suser_sname - 매개 변수가 있는 필터가 SUSER_SNAME(Transact-SQL)에 의해 반환된 값으로 정의된 경우

    • @host_name - 매개 변수가 있는 필터가 HOST_NAME(Transact-SQL)에 의해 반환된 값으로 정의된 경우

    이 경우 파티션에 대한 스냅숏 작업과 스냅숏 파일도 제거됩니다.