다음을 통해 공유


매개 변수가 있는 필터로 병합 게시에 대한 파티션 관리

이 항목에서는 SQL Server Management Studio, Transact-SQL 또는 RMO(복제 관리 개체)를 사용하여 SQL Server 2012에서 매개 변수가 있는 필터로 병합 게시에 대한 파티션을 관리하는 방법에 대해 설명합니다. 매개 변수가 있는 행 필터를 사용하여 겹치지 않는 파티션을 생성할 수 있습니다. 이러한 파티션을 제한하여 특정 파티션을 하나의 구독에서만 받도록 할 수 있습니다. 이러한 경우 구독자 수가 많으면 파티션 수가 많아지고 이에 따라 동일한 수의 분할된 스냅숏이 필요합니다. 자세한 내용은 매개 변수가 있는 행 필터을 참조하십시오.

항목 내용

  • 시작하기 전 주의 사항:

    권장 사항

  • 다음을 사용하여 매개 변수가 있는 필터로 병합 게시에 대한 파티션을 관리하려면

    SQL Server Management Studio

    Transact-SQL

    RMO(복제 관리 개체)

시작하기 전 주의 사항

권장 사항

  • 권장하는 복제 토폴로지를 스크립팅할 경우 게시 스크립트는 데이터 파티션을 만드는 저장 프로시저 호출을 포함합니다. 스크립트는 생성된 파티션에 대한 참조와 하나 이상의 파티션을 다시 만드는 방법(필요한 경우)을 제공합니다. 자세한 내용은 복제 스크립팅을 참조하십시오.

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

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

SQL Server Management Studio 사용

게시 속성 - <Publication> 대화 상자의 데이터 파티션 페이지에서 파티션을 관리할 수 있습니다. 이 대화 상자에 액세스하는 방법은 게시 속성 보기 및 수정을 참조하십시오. 이 페이지에서는 파티션을 만들거나 삭제하고, 구독자가 스냅숏 생성 및 배달을 시작하도록 허용하고, 하나 이상의 파티션에 대한 스냅숏을 생성하고, 스냅숏을 정리할 수 있습니다.

파티션을 만들려면

  1. 게시 속성 - <Publication> 대화 상자의 데이터 파티션 페이지에서 추가를 클릭합니다.

  2. 데이터 파티션 추가 대화 상자에서 만들려는 파티션에 연결된 HOST_NAME() 및/또는 SUSER_SNAME() 값을 입력합니다.

  3. 선택적으로 스냅숏을 새로 고칠 일정을 지정합니다.

    1. 이 파티션에 대한 스냅숏 에이전트의 실행 시간을 다음 시간으로 예약을 선택합니다.

    2. 기본으로 제공되는 스냅숏 새로 고침 일정을 그대로 적용하거나 변경을 클릭하여 다른 일정을 지정합니다.

  4. 확인을 클릭합니다.

파티션을 삭제하려면

  1. 데이터 파티션 페이지의 표에서 파티션을 선택합니다.

  2. 삭제를 클릭합니다.

구독자가 스냅숏 생성 및 배달을 시작하도록 허용하려면

  1. 데이터 파티션 페이지에서 새 구독자가 동기화할 때 필요한 경우 자동으로 파티션 정의 및 스냅숏 생성을 선택합니다.

  2. 확인을 클릭합니다.

파티션에 대한 스냅숏을 생성하려면

  1. 데이터 파티션 페이지의 표에서 파티션을 선택합니다.

  2. 선택한 스냅숏 지금 생성을 클릭합니다.

파티션에 대한 스냅숏을 정리하려면

  1. 데이터 파티션 페이지의 표에서 파티션을 선택합니다.

  2. 기존 스냅숏 정리를 클릭합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

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. 이 새 파티션에 대해 매개 변수가 있는 스냅숏을 만들고 초기화합니다. 자세한 내용은 매개 변수가 있는 필터로 병합 게시에 대한 스냅숏 만들기를 참조하십시오.

파티션을 삭제하려면

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

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

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

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

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

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단계를 반복합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

참고 항목

개념

매개 변수가 있는 행 필터

매개 변수가 있는 필터를 사용하는 병합 게시의 스냅숏