병합 복제 백업 및 복원 전략

적용 대상:SQL Server

병합 복제본(replica) 하려면 다음 데이터베이스를 정기적으로 백업합니다.

  • 게시자의 게시 데이터베이스

  • 배포자의 배포 데이터베이스

  • 각 구독자의 구독 데이터베이스

  • 게시자, 배포자 및 모든 구독자의 마스터 및 msdb 시스템 데이터베이스입니다. 이러한 데이터베이스는 서로와 관련 복제본(replica)tion 데이터베이스와 동시에 백업되어야 합니다. 예를 들어 게시 데이터베이스를 백업하는 동시에 게시자에서 mastermsdb 데이터베이스를 백업합니다. 게시 데이터베이스를 복원한 경우 mastermsdb 데이터베이스의 복제 구성 및 설정이 게시 데이터베이스와 일치하는지 확인하십시오.

정기적인 로그 백업을 수행할 경우 모든 복제 관련 변경 내용은 로그 백업에 캡처됩니다. 로그 백업을 수행하지 않으면 복제본(replica) 관련 설정이 변경될 때마다 백업을 수행해야 합니다. 자세한 내용은 업데이트된 백업이 필요한 일반적인 작업을 참조하세요.

게시 데이터베이스를 백업하고 복원하기 위해 아래에 설명된 방법 중 하나를 선택한 다음 배포 데이터베이스 및 구독 데이터베이스에 대해 나열된 권장 사항을 따릅니다.

게시 데이터베이스 백업 및 복원

병합 게시 데이터베이스를 복원하는 방법에는 두 가지가 있습니다. 백업에서 게시 데이터베이스를 복원한 후 다음 중 하나를 수행해야 합니다.

  • 게시 데이터베이스를 구독 데이터베이스와 동기화합니다.

  • 게시 데이터베이스에서 게시에 대한 모든 구독을 다시 초기화합니다.

이러한 방법 중 하나를 사용하면 복원이 수행된 후 게시자와 모든 구독자가 동기화됩니다.

참고 항목

테이블에 ID 열이 포함되어 있는 경우 복원 후 올바른 ID 범위가 할당되도록 해야 합니다. 자세한 내용은 ID 열 복제를 참조하세요.

게시 데이터베이스 동기화

게시 데이터베이스를 구독 데이터베이스와 동기화하면 이전에 게시 데이터베이스에서 변경했지만 복원된 백업에 표시되지 않은 변경 내용을 하나 이상의 구독 데이터베이스에서 업로드할 수 있습니다. 업로드할 수 있는 데이터는 게시가 필터링되는 방식에 따라 달라집니다.

  • 게시를 필터링하지 않으면 최신 구독자와 동기화하여 게시 데이터베이스를 최신 상태로 유지할 수 있어야 합니다.

  • 게시가 필터링된 경우 게시 데이터베이스를 최신 상태로 만들 수 없을 수도 있습니다. 각 구독이 동부, 서부, 남부 및 북부 중 한 지역에 대한 고객 데이터만 수신하도록 분할된 테이블을 고려해 봅시다. 각 데이터 파티션에 대해 구독자가 하나 이상 있는 경우 각 파티션에 대한 구독자와 동기화하면 게시 데이터베이스가 최신 상태로 유지됩니다. 그러나 예를 들어 서부 파티션의 데이터가 구독자에 복제본(replica) 않은 경우 게시자의 이 데이터를 최신 상태로 만들 수 없습니다.

Important

게시 데이터베이스를 구독 데이터베이스와 동기화하면 게시된 테이블이 백업에서 복원된 다른 게시되지 않은 테이블의 지정 시간보다 더 최근 시점으로 복원될 수 있습니다.

Microsoft SQL Server 2005(9.x) 이전 버전의 Microsoft SQL Server를 실행하는 구독자와 동기화하는 경우 구독은 익명일 수 없습니다. 클라이언트 구독 또는 서버 구독(이전 릴리스의 로컬 구독 및 전역 구독이라고 함)이어야 합니다.

밀어넣기 구독을 동기화하려면 Synchronize a Push SubscriptionSynchronize a Pull Subscription를 참조하십시오.

모든 구독 다시 초기화

모든 구독을 다시 초기화하면 모든 구독자가 복원된 게시 데이터베이스와 일치하는 상태가 됩니다. 이 방법은 전체 토폴로지를 지정된 게시 데이터베이스 백업이 나타내는 이전 상태로 반환하려는 경우에 사용해야 합니다. 예를 들어 잘못 수행된 일괄 처리 작업에서 복구하기 위한 메커니즘으로 게시 데이터베이스를 이전 시점으로 복원하는 경우 모든 구독을 다시 초기화할 수 있습니다.

이 옵션을 선택하는 경우 게시 데이터베이스를 복원한 직후 다시 초기화된 구독자에게 배달할 새 스냅샷 생성합니다.

구독을 다시 초기화하려면 구독 다시 초기화를 참조 하세요.

스냅샷 만들고 적용하려면 초기 스냅샷 만들기 및 적용 및 매개 변수가 있는 필터를 사용하여 병합 게시에 대한 스냅샷 만들기를 참조하세요.

배포 데이터베이스 백업 및 복원

병합 복제를 사용하는 경우에는 배포 데이터베이스를 정기적으로 백업해야 합니다. 사용하는 백업이 배포자를 사용하는 모든 게시의 최단 보존 기간을 넘기지 않은 한 특별 고려 사항 없이 배포 데이터베이스를 복원할 수 있습니다. 예를 들어 보존 기간이 각각 10, 20 및 30일인 세 개의 게시가 있는 경우 데이터베이스를 복원하는 데 사용되는 백업은 10일을 초과하지 않아야 합니다. 배포 데이터베이스는 병합 복제본(replica) 제한적인 역할을 합니다. 변경 내용 추적에 사용된 데이터는 저장하지 않으며 구독 데이터베이스에 전달될 병합 복제본(replica) 변경 내용의 임시 스토리지를 제공하지 않습니다(트랜잭션 복제본(replica)tion에서와 같이).

구독 데이터베이스 백업 및 복원

구독 데이터베이스를 성공적으로 복구하려면 구독 데이터베이스가 백업되기 전에 구독자가 게시자와 동기화되어야 합니다. 또한 구독 데이터베이스를 복원한 후에 동기화해야 합니다.

  • 구독 데이터베이스 백업 전에 게시자와 동기화하면 구독자가 백업에서 복원되는 경우 구독이 게시 보존 기간 내에 있는지 확인하는 데 도움이 됩니다. 예를 들어 보존 기간이 10일인 게시를 가정합니다. 마지막 동기화는 8일 전이며 이제 백업이 수행됩니다. 백업이 4일 후에 복원되는 경우 마지막 동기화는 보존 기간을 지난 12일 전에 발생합니다. 이 경우 구독자를 다시 초기화해야 합니다. 구독자가 백업 전에 동기화된 경우 구독 데이터베이스는 보존 기간 내에 있습니다.

    백업은 구독자가 구독하는 모든 게시의 최단 보존 기간을 넘기지 않아야 합니다. 예를 들어 구독자가 보존 기간이 각각 10, 20 및 30일인 세 개의 게시를 구독하는 경우 데이터베이스를 복원하는 데 사용되는 백업은 10일을 초과하지 않아야 합니다.

  • 복원 후 구독 데이터베이스를 각 해당 게시와 동기화하면 게시자의 모든 변경 내용이 구독자에 적용되어 최신 상태가 됩니다.

게시 보존 기간을 설정하려면 구독의 만료 기간 설정을 참조 하세요.

밀어넣기 구독을 동기화하려면 Synchronize a Push SubscriptionSynchronize a Pull Subscription를 참조하십시오.

다시 게시 데이터베이스 백업 및 복원

데이터베이스가 게시자의 데이터를 구독하고 동일한 데이터를 다른 구독 데이터베이스에 게시하는 경우 다시 게시 데이터베이스라고 합니다. 다시 게시 데이터베이스를 복원하는 경우 이 항목의 "게시 데이터베이스 백업 및 복원" 및 "구독 데이터베이스 백업 및 복원"에 설명된 지침을 따릅니다.

참고 항목

SQL Server 데이터베이스 백업 및 복원
복제된 데이터베이스 백업 및 복원