다음을 통해 공유


방법: 피어 투 피어 트랜잭션 복제 구성(SQL Server Management Studio)

이 항목에서는 피어 투 피어 토폴로지 구성 마법사를 사용하여 피어 투 피어 복제 토폴로지를 구성 및 유지 관리하는 방법에 대해 설명합니다. 먼저 마법사를 사용하여 3개 노드 토폴로지를 만드는 방법을 설명한 다음 노드를 추가 및 제거하고 노드 사이를 연결하는 방법을 설명합니다. SQL Server 2008 및 SQL Server의 최신 버전에서는 시스템에서 작업이 수행되고 있는 동안에도 노드를 추가 및 연결할 수 있습니다. 토폴로지에 SQL Server 2005 노드가 포함된 경우 새 노드를 하나의 기존 노드에 연결할 수 있지만 둘 이상의 노드에 연결하려면 시스템을 정지해야 합니다. 시스템 정지 과정에서는 모든 노드에서 게시된 테이블에 대한 작업을 중지하고 각 노드가 다른 모든 노드의 변경 내용을 받았는지 확인합니다. 이 프로세스에 대해서는 이 항목의 마지막 섹션에서 자세히 설명합니다.

피어 투 피어 복제 토폴로지 만들기

다음 단계에서는 서버 A, 서버 B서버 C의 3개의 노드로 구성된 토폴로지를 만드는 방법에 대한 개요를 제공합니다. 각 단계는 이 섹션에서 자세히 설명합니다.

  1. 토폴로지가 구성되면 SQL Server 에이전트가 각 노드에서 실행되고 있는 지와 로그 판독기 에이전트 및 배포 에이전트가 실행되고 있는지를 확인합니다. SQL Server 에이전트에 대한 자세한 내용은 SQL Server 에이전트 시작을 참조하십시오. 에이전트 시작 및 중지 방법은 방법: 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하십시오.

  2. 서버 A, 서버 B, 서버 C에서 배포를 구성합니다.

    로컬 또는 원격 배포자를 사용할 수 있습니다. 원격 배포자를 사용하는 경우 모든 노드에 동일한 원격 배포자를 사용하지 않는 것이 좋습니다. 원격 배포자가 단일 오류 지점일 수 있기 때문입니다. 배포자에 대한 자세한 내용은 복제 게시 모델 개요를 참조하십시오.

  3. 새 게시 마법사를 사용하여 서버 A에 게시를 만듭니다.

  4. 게시 속성 - <Publication> 대화 상자를 사용하여 피어 투 피어 복제에 대한 게시를 설정합니다.

  5. 서버 A의 데이터베이스를 서버 B서버 C로 복원하는 방법을 사용하거나 수동으로 서버 B서버 C의 스키마와 데이터를 초기화합니다. 모든 노드의 스키마는 동일해야 합니다.

  6. 피어 투 피어 토폴로지 구성 마법사를 사용하여 서버 B서버 C를 토폴로지에 추가합니다. 서버를 추가하면 각 서버에 게시가 생성되고 토폴로지의 다른 서버에 있는 게시에 대한 구독이 생성됩니다.

    게시된 테이블에 ID 열이 있는 경우 서버 B서버 C의 테이블에 대해 ID 범위의 초기값을 다시 설정합니다.

각 노드에 대해 배포를 구성하려면

  1. SQL Server Management Studio에서 서버 A에 연결합니다. 서버 B서버 C에 대해서도 이 구성 프로세스를 반복해야 합니다.

  2. 서버 노드를 확장하고 복제 폴더를 마우스 오른쪽 단추로 클릭한 다음 배포 구성을 클릭합니다.

  3. 배포 구성 마법사의 배포자 페이지에서 배포자를 선택합니다.

    로컬 배포자를 사용하려면 '<ServerName>'을(를) 자체 배포자로 사용합니다. SQL Server에서 배포 데이터베이스와 로그를 만듭니다를 선택합니다. 원격 배포자를 사용하려면 다음 서버를 배포자로 사용을 선택한 다음 서버를 선택합니다. 서버는 미리 배포자로 구성되어 있어야 하며 해당 배포자를 사용하도록 게시자를 설정해야 합니다. 자세한 내용은 방법: 배포자에서 원격 게시자 설정(SQL Server Management Studio)을 참조하십시오.

    원격 배포자를 선택하면 서버 A에서 배포자로의 연결에 대한 관리 암호 페이지에서 암호를 입력해야 합니다. 이 암호는 원격 배포자에서 서버 A를 게시자로 설정할 때 지정한 암호와 일치해야 합니다.

  4. 스냅숏 폴더 페이지에서 스냅숏 폴더를 지정합니다.

    스냅숏 폴더는 공유로 지정한 디렉터리입니다. 이 폴더에서 읽고 쓰는 에이전트는 이 폴더에 대한 충분한 액세스 권한이 있어야 합니다. 이 디렉터리에는 첫 번째 노드에서의 복제에 필요한 개체가 저장됩니다. 이 디렉터리는 다른 노드에서의 피어 투 피어 복제에는 사용되지 않지만 배포자를 구성하는 데 필요합니다. 폴더에 보안을 설정하는 방법은 스냅숏 폴더 보안 설정을 참조하십시오.

  5. 배포 데이터베이스 페이지에서 배포 데이터베이스의 이름을 지정합니다.

    배포 데이터베이스에는 트랜잭션, 메타데이터 및 기록 데이터가 저장됩니다.

  6. 게시자 페이지에서 선택적으로 다른 게시자가 서버 A를 원격 배포자로 사용하도록 설정할 수 있습니다.

    다른 게시자가 서버 A를 원격 배포자로 설정하는 경우 게시자에서 배포자로의 연결에 대한 배포자 암호 페이지에서 암호를 입력해야 합니다.

  7. 마법사 동작 페이지에서 필요에 따라 구성 설정을 스크립팅합니다. 자세한 내용은 복제 스크립팅을 참조하십시오.

첫 번째 노드에서 게시를 만들려면

  1. SQL Server Management Studio에서 서버 A에 연결한 다음 서버 노드를 확장합니다.

  2. 복제 폴더를 확장한 다음 로컬 게시 폴더를 마우스 오른쪽 단추로 클릭합니다.

  3. 새 게시를 클릭합니다.

  4. 새 게시 마법사의 게시 데이터베이스 페이지에서 게시하려는 데이터베이스를 선택합니다.

  5. 게시 유형 페이지에서 트랜잭션 게시를 선택합니다.

  6. 아티클 페이지에서 게시할 데이터베이스 개체를 선택합니다.

    아티클 속성을 클릭하여 아티클 속성을 보고 수정합니다. 다음 속성은 변경할 수 없습니다.

    • 대상 개체 이름

    • 대상 개체 소유자

    • <ACTION> 배달 형식 옵션(여기서 ACTION은 INSERT, UPDATE 또는 DELETE임)을 <ACTION> 문 또는 열 목록이 없는 <ACTION> 문으로 설정할 수 없습니다.

  7. 피어 투 피어 게시 필터링이 지원되지 않으므로 테이블 행 필터 페이지에서 필터를 정의할 수 없습니다.

  8. 스냅숏 에이전트 페이지에서 즉시 스냅숏 만들기의 선택을 취소합니다.

  9. 에이전트 보안 페이지에서 스냅숏 에이전트 및 로그 판독기 에이전트에 대한 자격 증명을 지정합니다.

    각 에이전트에 필요한 사용 권한에 대한 자세한 내용은 복제 에이전트 보안 모델복제 보안을 위한 최선의 구현 방법을 참조하십시오.

  10. 마법사 동작 페이지에서 필요에 따라 게시를 스크립팅합니다. 자세한 내용은 복제 스크립팅을 참조하십시오.

  11. 마법사 완료 페이지에서 게시의 이름을 지정합니다. 피어 투 피어 토폴로지 구성 마법사는 각 노드에서 게시를 만들 때 게시 이름을 사용하므로 이 게시 이름은 토폴로지 내에서 동일해야 합니다.

피어 투 피어 복제용 게시를 설정하려면

  1. 서버 A에서 복제 폴더를 확장한 다음 로컬 게시 폴더를 확장합니다.

  2. 생성된 게시를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  3. 게시 속성 - <Publication> 대화 상자의 구독 옵션 페이지에서 피어 투 피어 구독 허용 속성에 대해 True 값을 선택합니다.

  4. 확인을 클릭합니다.

각 노드에서 스키마와 데이터를 초기화하려면

  • 다음 중 한 가지 방법으로 서버 B서버 C를 초기화합니다.

    • SSIS(Integration Services), 스크립트 또는 다른 방법을 사용하여 서버 A에서 서버 B서버 C로 스키마 및 데이터를 수동으로 복사합니다. 이러한 서버를 피어로 구성하기 전에 서버 B서버 C의 스키마 및 데이터가 서버 A의 스키마 및 데이터와 동일한지 확인합니다.

    • 토폴로지를 구성하기 전에 각 노드에 초기 데이터가 있어야 합니다. SQL Server 백업 및 복원 기능을 사용하여 토폴로지의 각 노드에서 게시에 대한 데이터를 초기화할 수 있습니다. 백업은 구성된 첫 번째 노드(여기서는 서버 A)의 백업이어야 합니다. 서버 A에서 게시를 만들고 피어 투 피어 복제를 설정한 후에 백업을 수행해야 합니다. 여기에서는 모든 노드가 추가되기 전에는 새 노드에서 아무런 활동도 수행되지 않는다고 가정합니다. 따라서 같은 백업을 사용하여 각 노드를 초기화할 수 있습니다.

      모든 노드가 추가되기 전에 새 노드에서 활동이 수행되는 경우에는 각 노드가 추가되고 한 번 이상 서버 A와 동기화된 이후에 새 백업을 수행해야 합니다. 이렇게 하면 서버 A의 백업에 나머지 모든 노드에 대한 메타데이터가 포함됩니다. 예를 들어 서버 B서버 C를 추가할 때 이러한 노드에서 활동이 수행되는 경우 서버 A의 백업으로 서버 B를 초기화하고 서버 B를 구성 및 동기화하고 서버 A에서 새 백업을 수행하고 새 백업으로 서버 C를 초기화하고 서버 C를 구성 및 동기화합니다.

      데이터베이스 백업 및 복원 방법은 SQL Server의 데이터베이스 백업 및 복원을 참조하십시오.

      중요 정보중요

      데이터베이스를 복원할 때 KEEP_REPLICATION 옵션(Transact-SQL) 또는 복제 설정 유지 옵션(SQL Server Management Studio)을 지정하지 마십시오. 피어 투 피어 토폴로지 구성 마법사를 실행하면 복제에서 데이터베이스를 적절히 구성합니다.

      백업에는 데이터베이스 전체가 포함되므로 각 피어 데이터베이스는 초기화될 때 게시 데이터베이스의 완전한 사본을 포함하게 됩니다. 게시에 대한 아티클로 지정되지 않은 테이블이 백업에 포함될 수도 있습니다. 백업이 복원된 후에 필요 없는 개체나 데이터를 제거하는 작업은 관리자나 응용 프로그램이 수행해야 합니다. 이후 동기화에서 데이터 변경 내용은 아티클로 지정된 테이블에 적용되는 경우에만 복제됩니다.

토폴로지를 구성하려면

  1. 서버 A에서 만든 게시를 마우스 오른쪽 단추로 클릭한 다음 피어 투 피어 토폴로지 구성을 클릭합니다. 피어 투 피어 토폴로지 구성 옵션을 보기 위해 게시 노드를 새로 고쳐야 할 수도 있습니다.

  2. 피어 투 피어 토폴로지 구성 마법사의 게시 페이지에서는 서버 A에서 만든 게시가 선택됩니다.

  3. 토폴로지 구성 페이지에서 서버 B를 추가한 다음 서버 C에서 이 프로세스를 반복합니다.

    1. 페이지의 디자인 화면을 마우스 오른쪽 단추로 클릭하고 새 피어 노드 추가를 클릭합니다.

    2. 서버에 연결 대화 상자에서 서버 B에 연결합니다.

    3. 새 피어 노드 추가 대화 상자에서 게시 데이터베이스를 선택하고 표시된 모든 노드에 연결을 선택합니다. 충돌 검색이 설정된 경우(기본값) 각 노드의 피어 ID 상자에 고유한 값을 지정합니다. 토폴로지에 있는 값은 사용할 수 없습니다. 이미 사용된 ID 목록을 보려면 Mspeer_originatorid_history 시스템 테이블을 쿼리하십시오. 충돌 검색에 대한 자세한 내용은 피어 투 피어 복제에서 충돌 검색을 참조하십시오.

    4. 확인을 클릭합니다. 그러면 서버 B서버 A에 대한 연결과 함께 디자인 화면에 표시됩니다. 서버 C를 추가하면 각 노드가 나머지 두 노드와 연결됩니다.

  4. 로그 판독기 에이전트 보안 페이지에서 각 노드의 로그 판독기 에이전트에 대한 자격 증명을 지정합니다.

    로그 판독기 에이전트에 필요한 사용 권한에 대한 자세한 내용은 복제 에이전트 보안 모델복제 보안을 위한 최선의 구현 방법을 참조하십시오.

  5. 배포 에이전트 보안 페이지에서 각 노드에 구독을 제공하는 배포 에이전트에 대한 자격 증명을 지정합니다.

    피어 투 피어 토폴로지 구성 마법사는 각각의 구독에 독립 에이전트가 지정되는 밀어넣기 구독을 만듭니다. 배포 에이전트는 배포자에서 실행됩니다. 3개의 노드로 구성된 토폴로지에서 각 노드는 다른 두 노드에 대한 구독을 포함하므로 각 배포자에서 두 개의 배포 에이전트가 실행됩니다.

    배포 에이전트에 필요한 사용 권한에 대한 자세한 내용은 복제 에이전트 보안 모델복제 보안을 위한 최선의 구현 방법을 참조하십시오.

  6. 새 피어 초기화 페이지에서 피어 데이터베이스를 수동으로 만들었거나, 원래 게시 데이터베이스의 백업을 복원했고 백업 이후에 데이터베이스가 변경되지 않았습니다를 선택합니다.

  7. 마법사를 완료합니다. 피어 투 피어 토폴로지를 작성하는 중 페이지에 서버 A에 이미 로그 판독기 또는 게시가 있다는 경고가 표시될 수 있습니다. 이 메시지는 정보 제공용이므로 별도의 동작은 필요하지 않습니다.

  8. 게시된 테이블에 ID 열이 있으면 복원 후 서버 A에서 테이블에 할당한 ID 범위가 서버 B서버 C의 테이블에도 사용됩니다. DBCC CHECKIDENT서버 B서버 C의 테이블에서 초기값을 다시 설정하여 각기 다른 범위를 사용하도록 해야 합니다.

    ID 범위 관리 방법은 ID 열 복제의 "ID 범위 수동 관리를 위한 범위 할당" 섹션을 참조하십시오.

SQL Server 2008 이상 버전을 실행하는 노드를 기존 토폴로지에 추가하려면

SQL Server 2008 이상 버전을 실행하는 노드를 기본 토폴로지에 추가하는 프로세스는 초기 구성에서 노드를 포함하는 프로세스와 동일합니다. 기존 토폴로지에 노드를 추가하려면 다음 단계를 수행합니다.

  1. 서버 D에서 배포를 구성합니다.

  2. 서버 A의 데이터베이스를 서버 D로 복원하여 서버 D의 스키마 및 데이터를 초기화합니다.

  3. 피어 투 피어 토폴로지 구성 마법사를 사용하여 서버 D를 토폴로지에 추가합니다.

새 노드에 대해 배포를 구성하려면

  • 위의 "각 노드에 대해 배포를 구성하려면" 절차를 참조하십시오.

새 노드를 초기화하려면

  • 서버 D에서 서버 A의 최신 게시 데이터베이스 백업을 복원합니다. 서버 B 또는 서버 C의 백업도 사용할 수 있지만 그러려면 서버 D를 추가할 때 피어 투 피어 토폴로지 구성 마법사의 게시 페이지에서 해당 서버 및 데이터베이스를 선택해야 합니다.

토폴로지에 노드를 추가하려면

  1. 서버 A에서 만든 게시를 마우스 오른쪽 단추로 클릭한 다음 피어 투 피어 토폴로지 구성을 클릭합니다.

  2. 서버 A에서 만든 게시가 피어 투 피어 토폴로지 구성 마법사의 게시 페이지에서 선택됩니다.

  3. 그러면 토폴로지 구성 페이지의 디자인 화면에 서버 A, 서버 B서버 C가 표시됩니다.

    1. 디자인 화면을 마우스 오른쪽 단추로 클릭하고 새 피어 노드 추가를 클릭합니다.

    2. 서버에 연결 대화 상자에서 서버 D에 연결합니다.

    3. 새 피어 노드 추가 대화 상자에서 게시 데이터베이스를 선택합니다.

    4. 4개 노드 사이에서 가능한 모든 연결을 만들려면 표시된 모든 노드에 연결을 선택합니다. 일부 노드 사이의 연결을 수동으로 추가하려면 확인란의 선택을 취소해야 합니다.

    5. 확인을 클릭합니다.

    6. 표시된 모든 노드에 연결을 선택하면 각 노드가 나머지 3개 노드와 연결됩니다. 이 확인란의 선택을 취소한 경우 다음을 수행하여 수동으로 연결을 추가합니다. 노드를 마우스 오른쪽 단추로 클릭하고 새 피어 연결 추가를 클릭한 다음 연결 화살표를 다른 노드로 끕니다. 서버 D와 다른 노드 사이를 연결하려면 각 연결에서 이 프로세스를 반복합니다.

  4. 이 항목 앞부분에 있는 "토폴로지를 구성하려면" 절차의 설명에 따라 피어 투 피어 토폴로지 마법사를 완료합니다.

토폴로지에서 노드 제거

토폴로지에서 노드를 제거하려면

  1. 피어 투 피어 토폴로지 구성 마법사의 토폴로지 구성 페이지에서 노드를 마우스 오른쪽 단추로 클릭하고 피어 노드 삭제를 클릭합니다.

  2. 이 항목 앞부분에 있는 "토폴로지를 구성하려면" 절차의 설명에 따라 피어 투 피어 토폴로지 마법사를 완료합니다.

두 노드 사이의 연결 제거

토폴로지에서 두 노드 사이의 연결을 제거하려면

  1. 피어 투 피어 토폴로지 구성 마법사의 토폴로지 구성 페이지에서 노드 또는 디자인 화면을 마우스 오른쪽 단추로 클릭하고 피어 연결 제거를 클릭합니다.

  2. 이 항목 앞부분에 있는 "토폴로지를 구성하려면" 절차의 설명에 따라 피어 투 피어 토폴로지 마법사를 완료합니다.

토폴로지에서 노드 숨기기

토폴로지에 노드가 많은 경우 하나 이상의 노드를 숨기는 것이 좋을 수도 있습니다. 디자인 화면에 표시되는 노드 사이에만 연결을 추가할 수 있습니다.

토폴로지에서 노드를 숨기려면

  1. 피어 투 피어 토폴로지 구성 마법사의 토폴로지 구성 페이지에서 노드를 마우스 오른쪽 단추로 클릭하고 표시할 노드 선택을 클릭합니다.

  2. 피어 추가/제거 대화 상자를 사용하여 디자인 화면에서 추가 또는 제거할 노드를 선택합니다.

  3. 확인을 클릭합니다.

기존 토폴로지에 SQL Server 2005 노드 추가

이 항목의 소개 부분에서 언급했듯이 SQL Server 2005 노드를 추가할 때와 그 이후 버전의 SQL Server를 실행하는 노드를 추가할 때의 가장 큰 차이점은 SQL Server 2005의 경우 모든 기존 노드에 새 노드를 연결하기 위해 시스템을 정지해야 한다는 점입니다. 다음 절차에서는 기존 토폴로지에 SQL Server 2005 노드를 추가하는 방법을 단계별로 설명합니다.

  • 첫 번째 단계에서는 서버 A서버 D 사이의 구독을 만들어 서버 D를 토폴로지에 부분적으로 연결합니다. 이렇게 하면 서버 A, 서버 B서버 C에서 계속해서 변경 내용이 발생할 수 있습니다. 서버 A서버 D 간의 구독이 생성되는 즉시 서버 D에서 변경이 시작될 수 있습니다. 그러면 서버 B서버 C의 변경 내용이 Server A를 통해 서버 D에 복제됩니다.

  • 두 번째 단계에서는 서버 B서버 D, 서버 C서버 D 사이의 구독을 만들어 서버 D를 토폴로지에 완전히 연결합니다. 이 단계에서는 시스템을 정지해야 합니다.

    2단계가 필요하지는 않지만 이 단계를 실행하면 서버 A서버 D 사이만 연결되어 있을 때보다 내결함성이 향상될 수 있습니다.

첫 번째 단계 절차

새 노드에 대해 배포를 구성하려면

  • 위의 "각 노드에 대해 배포를 구성하려면" 절차를 참조하십시오.

새 노드를 초기화하려면

  • 서버 D에서 서버 A의 최신 게시 데이터베이스 백업을 복원합니다. 서버 B 또는 서버 C의 백업도 사용할 수 있지만 그러려면 서버 D를 추가할 때 피어 투 피어 토폴로지 구성 마법사의 게시 페이지에서 해당 서버 및 데이터베이스를 선택해야 합니다.

토폴로지에 새 노드를 추가하려면(서버 A와 서버 D 간의 구독 생성)

  1. 서버 A에서 만든 게시를 마우스 오른쪽 단추로 클릭한 다음 피어 투 피어 토폴로지 구성을 클릭합니다.

  2. 피어 투 피어 토폴로지 구성 마법사의 게시 페이지에서는 서버 A에서 만든 게시가 선택됩니다.

  3. 그러면 토폴로지 구성 페이지의 디자인 화면에 서버 A, 서버 B서버 C가 표시됩니다.

    1. 디자인 화면을 마우스 오른쪽 단추로 클릭하고 새 피어 노드 추가를 클릭합니다.

    2. 서버에 연결 대화 상자에서 서버 D에 연결합니다.

    3. 새 피어 노드 추가 대화 상자에서 게시 데이터베이스를 선택합니다.

    4. 확인을 클릭합니다.

    5. 서버 A서버 D 사이의 연결을 추가하려면 서버 A를 마우스 오른쪽 단추로 클릭하고 새 피어 연결 추가를 클릭한 다음 연결 화살표를 서버 D로 끕니다.

  4. 로그 판독기 에이전트 보안 페이지에서 서버 D의 로그 판독기 에이전트에 대한 자격 증명을 지정합니다.

  5. 배포 에이전트 보안 페이지에서 서버 A서버 D의 배포 에이전트에 대한 자격 증명을 지정합니다.

  6. 새 피어 초기화 페이지에서 원래 게시 데이터베이스의 백업을 복원했고, 백업 이후에 게시 데이터베이스가 변경되었습니다를 선택합니다.

    이 옵션을 선택하면 서버 A의 백업에 포함되지 않은 변경 내용이 서버 D에서 복원된 데이터베이스로 전달됩니다. 피어 투 피어 복제용 게시를 설정하면 allow_initialize_from_backup 게시 속성은 True로 설정됩니다. 복제 기능은 서버 A의 게시 데이터베이스에 대한 변경 내용을 즉시 추적하기 시작하므로 다른 피어는 복원 후에 최신 상태가 됩니다.

  7. 찾아보기 단추를 클릭하여 사용된 백업을 찾으면 복제 기능은 백업에서 LSN(로그 시퀀스 번호)을 읽습니다. 서버 A의 게시 데이터베이스에서 변경된 내용 중 LSN이 더 높은 모든 변경 내용이 서버 D로 전달됩니다.

  8. 마법사를 완료합니다.

  9. ID 범위를 포함하는 게시된 테이블에서 서버 A의 각 테이블에 할당된 ID 범위는 서버 D에도 사용됩니다. 시스템을 정지하지 않고 모든 노드를 서로 완전히 연결하려면 다음 절차를 수행하여 서버 D의 각 테이블에 적절한 범위를 할당합니다. 모든 노드를 완전히 연결하려는 경우에는 중지가 완료된 후에 범위를 할당할 수 있습니다.

    1. 서버 D에서 sp_requestpeerresponse를 실행하고 출력 매개 변수 @request_id를 검색합니다.

    2. 기본적으로 배포 에이전트는 연속적으로 실행되도록 설정되므로 토큰이 모든 노드로 자동 전송됩니다. 배포 에이전트가 연속 모드로 실행되지 않을 경우에는 에이전트를 실행합니다. 자세한 내용은 복제 에이전트 실행 파일 개념 또는 방법: 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하십시오.

    3. sp_helppeerresponses를 실행한 다음 b 단계에서 검색된 @request_id 값을 제공하여 모든 노드가 피어 요청을 받았음을 나타낼 때까지 기다립니다.

    4. DBCC CHECKIDENT를 사용하여 서버 D에 있는 각 테이블의 초기값을 다시 설정하고 적절한 범위가 사용되고 있는지 확인합니다.

두 번째 단계 절차

토폴로지를 중지하려면

  1. 피어 투 피어 토폴로지에 게시된 테이블에 대한 모든 작업을 중지합니다.

  2. 서버 A, 서버 B, 서버 C서버 D의 데이터베이스에서 sp_requestpeerresponse를 실행하고 출력 매개 변수 @request_id를 검색합니다.

  3. 기본적으로 배포 에이전트는 연속적으로 실행되도록 설정되므로 토큰이 모든 노드로 자동 전송됩니다. 배포 에이전트가 연속 모드로 실행되지 않을 경우에는 에이전트를 실행합니다. 자세한 내용은 복제 에이전트 실행 파일 개념 또는 방법: 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하십시오.

  4. sp_helppeerresponses를 실행하고 2단계에서 검색한 @request_id 값을 지정합니다. 모든 노드가 피어 요청을 받았음을 표시할 때까지 기다립니다.

  5. 새 ID 범위를 할당합니다(필요한 경우). 이제 나머지 구독을 추가하여 토폴로지를 완전히 연결할 수 있습니다.

새 노드에 대한 추가 구독을 만들려면

  1. 서버 A에서 만든 게시를 마우스 오른쪽 단추로 클릭한 다음 피어 투 피어 토폴로지 구성을 클릭합니다.

  2. 피어 투 피어 토폴로지 구성 마법사의 게시 페이지에서는 서버 A에서 만든 게시가 선택됩니다.

  3. 그러면 토폴로지 구성 페이지의 디자인 화면에 서버 A, 서버 B, 서버 C서버 D가 표시됩니다.

    1. 서버 B를 마우스 오른쪽 단추로 클릭하고 새 피어 연결 추가를 클릭한 다음 연결 화살표를 서버 D로 끕니다.

    2. 서버 C를 마우스 오른쪽 단추로 클릭하고 새 피어 연결 추가를 클릭한 다음 연결 화살표를 서버 D로 끕니다.

  4. 로그 판독기 에이전트 보안 페이지에서 서버 B, 서버 C서버 D의 로그 판독기 에이전트에 대한 자격 증명을 지정합니다.

  5. 배포 에이전트 보안 페이지에서 서버 A, 서버 B, 서버 C서버 D의 배포 에이전트에 대한 자격 증명을 지정합니다.

  6. 새 피어 초기화 페이지에서 피어 데이터베이스를 수동으로 만들었거나, 원래 게시 데이터베이스의 백업을 복원했고 백업 이후에 데이터베이스가 변경되지 않았습니다를 선택합니다. 모든 노드에 이미 데이터가 있지만 이 옵션을 지정하면 각 노드 간에 적절한 구독 관계가 설정됩니다.

  7. 마법사를 완료한 다음 시스템 활동을 다시 시작합니다.