병합 복제 백업 및 복원 전략Strategies for Backing Up and Restoring Merge Replication

병합 복제의 경우 다음 데이터베이스를 정기적으로 백업합니다.For merge replication, back up the following databases regularly:

  • 게시자의 게시 데이터베이스The publication database at the Publisher

  • 배포자의 배포 데이터베이스The distribution database at the Distributor

  • 구독자의 구독 데이터베이스The subscription database at each Subscriber

  • 게시자, 배포자 및 모든 구독자의 mastermsdb 시스템 데이터베이스.The master and msdb system databases at the Publisher, Distributor and all Subscribers. 이러한 데이터베이스는 각각 그리고 관련 복제 데이터베이스와 동시에 백업되어야 합니다.These databases should be backed up at the same time as each other and the relevant replication database. 예를 들어 게시 데이터베이스를 백업할 때 게시자의 mastermsdb 데이터베이스를 동시에 백업합니다.For example, back up the master and msdb databases at the Publisher at the same time you back up the publication database. 게시 데이터베이스를 복원한 경우 mastermsdb 데이터베이스의 복제 구성 및 설정이 게시 데이터베이스와 일치하는지 확인하십시오.If the publication database is restored, ensure that the master and msdb database are consistent with the publication database in terms of replication configuration and settings.

    정기적인 로그 백업을 수행할 경우 모든 복제 관련 변경 내용은 로그 백업에 캡처됩니다.If you perform regular log backups, any replication-related changes should be captured in the log backups. 로그 백업을 수행하지 않는 경우 복제와 관련된 설정이 변경될 때마다 백업을 수행해야 합니다.If you don't perform log backups, a backup should be performed whenever a setting relevant to replication is changed. 자세한 내용은 업데이트된 백업이 필요한 일반 동작을 참조하세요.For more information, see Common Actions Requiring an Updated Backup.

    아래 자세히 설명된 게시 데이터베이스 백업 및 복원 접근 방법 중 하나를 선택한 다음 배포 데이터베이스 및 구독 데이터베이스에 대해 나열된 권장 사항을 따릅니다.Choose one of the approaches detailed below for backing up and restoring the publication database, and then follow the recommendations listed for the distribution database and subscription databases.

게시 데이터베이스 백업 및 복원Backing Up and Restoring the Publication Database

병합 게시 데이터베이스를 복원하는 방법에는 두 가지가 있습니다.There are two approaches to restoring a merge publication database. 백업에서 게시 데이터베이스를 복원한 다음에는 다음 작업 중 하나를 수행해야 합니다.After restoring the publication database from a backup, you should either:

  • 게시 데이터베이스를 구독 데이터베이스와 동기화합니다.Synchronize the publication database with a subscription database.

  • 게시 데이터베이스에서 게시에 대한 모든 구독을 다시 초기화합니다.Reinitialize all subscriptions to the publications in the publication database.

    이러한 방법 중 하나를 사용하면 복원을 수행한 후 게시자와 모든 구독자가 동기화됩니다.Using either of these methods ensures that after a restore is performed, the Publisher and all Subscribers are synchronized.

참고

테이블에 ID 열이 포함되어 있는 경우 복원 후 올바른 ID 범위가 할당되도록 해야 합니다.If any tables contain identity columns, you must ensure the correct identity ranges are assigned after a restore. 자세한 내용은 ID 열 복제를 참조하세요.For more information, see Replicate Identity Columns.

게시 데이터베이스 동기화Synchronizing the Publication Database

게시 데이터베이스를 구독 데이터베이스와 동기화하면 복원된 백업에는 나타나지 않지만 게시 데이터베이스에서 이전에 적용한 변경 내용을 하나 이상의 구독 데이터베이스에서 업로드할 수 있습니다.Synchronizing a publication database with a subscription database allows you to upload from one or more subscription databases those changes made previously in the publication database, but not represented in the restored backup. 업로드할 수 있는 데이터는 게시가 필터링되는 방식에 따라 달라집니다.The data that can be uploaded depends on the way in which a publication is filtered:

  • 게시가 필터링되지 않은 경우 최신 구독자와 동기화하여 게시 데이터베이스를 최신 상태로 만들 수 있습니다.If the publication is not filtered, you should be able to bring the publication database up-to-date by synchronizing with the most up-to-date Subscriber.

  • 게시가 필터링된 경우 게시 데이터베이스를 최신 상태로 만들 수 없을 수도 있습니다.If the publication is filtered, you might not be able to bring the publication database up-to-date. 각 구독이 동부, 서부, 남부 및 북부 중 한 지역에 대한 고객 데이터만 수신하도록 분할된 테이블을 고려해 봅시다.Consider a table that is partitioned such that each subscription receives customer data only for a single region: North, East, South, and West. 각 데이터 파티션에 대해 최소 하나의 구독자가 있는 경우 각 파티션에 대해 구독자와 동기화하면 게시 데이터베이스가 최신 상태가 됩니다.If there is at least one Subscriber for each partition of data, synchronizing with a Subscriber for each partition should bring the publication database up-to-date. 그러나 예를 들어 서부 파티션의 데이터가 구독자에 복제되지 않은 경우에는 게시자에서 이 데이터를 최신 상태로 만들 수 없습니다.However, if data in the West partition, for example, was not replicated to any Subscribers, this data at the Publisher cannot be brought up-to-date.

중요

게시 데이터베이스를 구독 데이터베이스와 동기화하면 게시된 테이블이 백업에서 복원된 게시되지 않은 다른 테이블보다 더 최신 시점으로 복원될 수 있습니다.Synchronizing a publication database with a subscription database can result in published tables being restored to a point in time that is more recent than the point in time of other non-published tables restored from the backup.

MicrosoftMicrosoft SQL ServerSQL Server 이전 버전의 MicrosoftMicrosoft SQL Server 2005SQL Server 2005를 실행하는 구독자와 동기화할 경우에 해당 구독은 익명일 수 없습니다. 구독은 클라이언트 구독 또는 서버 구독(이전 버전에서는 로컬 구독 및 전역 구독)이어야 합니다.If you synchronize with a Subscriber that is running a version of MicrosoftMicrosoft SQL ServerSQL Server prior to MicrosoftMicrosoft SQL Server 2005SQL Server 2005, the subscription cannot be anonymous; it must be a client subscription or server subscription (referred to as local subscriptions and global subscriptions in previous releases).

밀어넣기 구독을 동기화하려면 밀어넣기 구독 동기화끌어오기 구독 동기화를 참조하십시오.To synchronize a subscription, see Synchronize a Push Subscription and Synchronize a Pull Subscription.

모든 구독 다시 초기화Reinitializing all Subscriptions

모든 구독을 다시 초기화하면 모든 구독자가 복원된 게시 데이터베이스와 일관된 상태로 변합니다.Reinitializing all subscriptions ensures all Subscribers are in a state consistent with the restored publication database. 이러한 접근 방법은 토폴로지 전체를 지정된 게시 데이터베이스 백업에 나타난 이전 상태로 되돌리려는 경우 사용합니다.This approach should be used if you want to return an entire topology to the previous state represented by a given publication database backup. 예를 들어 잘못 수행된 일괄 처리 작업을 복구하기 위한 메커니즘으로 게시 데이터베이스를 이전 시점으로 복원하는 경우 모든 구독을 다시 초기화할 수 있습니다.For example, you might want to reinitialize all subscriptions if you are restoring a publication database to an earlier point in time as a mechanism to recover from an erroneously performed batch operation.

이 방법을 선택하는 경우 게시 데이터베이스를 복원한 다음 다시 초기화된 구독자로 배달할 새 스냅숏을 즉시 만듭니다.If you choose this option, generate a new snapshot for delivery to reinitialized Subscribers immediately after restoring your publication database.

구독을 다시 초기화하려면 구독 다시 초기화를 참조하십시오.To reinitialize a subscription, see Reinitialize a Subscription.

스냅숏을 만들고 적용하려면 초기 스냅숏 만들기 및 적용매개 변수가 있는 필터로 병합 게시에 대한 스냅숏 만들기를 참조하십시오.To create and apply a snapshot, see Create and Apply the Initial Snapshot and Create a Snapshot for a Merge Publication with Parameterized Filters.

배포 데이터베이스 백업 및 복원Backing Up and Restoring the Distribution Database

병합 복제를 사용하는 경우에는 배포 데이터베이스를 정기적으로 백업해야 합니다. 사용하는 백업이 배포자를 사용하는 모든 게시의 최단 보존 기간을 넘기지 않은 한 특별 고려 사항 없이 배포 데이터베이스를 복원할 수 있습니다.With merge replication, the distribution database should be backed up regularly, and can be restored without any special considerations as long as the backup used is no older than the shortest retention period of all publications that use the Distributor. 예를 들어 보존 기간이 10일, 20일, 30일인 3개의 게시가 있는 경우 데이터베이스 복원에 사용되는 백업은 10일보다 더 오래된 것이면 안 됩니다.For example, if there are three publications with retention periods of 10, 20, and 30 days, respectively, the backup used to restore the database should not be more than 10 days old. 배포 데이터베이스는 병합 복제에서 제한된 역할을 가집니다. 즉, 변경 추적에 사용된 데이터를 저장하지 않으며 구독 데이터베이스로 전달될 병합 복제 변경 내용에 대해 트랜잭션 복제에서와 같이 임시 저장소를 제공하지 않습니다.The distribution database has a limited role in merge replication: it does not store any data used in change tracking and it does not provide temporary storage of merge replication changes to be forwarded to subscription databases (as it does in transactional replication).

구독 데이터베이스 백업 및 복원Backing Up and Restoring a Subscription Database

구독 데이터베이스를 성공적으로 복구하려면 구독 데이터베이스를 백업하기 전에 구독자를 게시자와 동기화해야 하며 구독 데이터베이스가 복원된 후에도 구독자와 게시자를 동기화해야 합니다.To ensure successful recovery of a subscription database, Subscribers should synchronize with the Publisher before the subscription database is backed up; they should also synchronize after the subscription database is restored:

  • 구독 데이터베이스를 백업하기 전에 게시자와 동기화하면 백업에서 구독자를 복원할 때 구독이 여전히 게시 보존 기간 내에 있게 됩니다.Synchronizing with the Publisher before a subscription database backup helps ensure that if a Subscriber is restored from backup, the subscription is still within the publication retention period. 예를 들어 보존 기간이 10일인 게시를 가정해 봅시다.For example, assume a publication with a retention period of 10 days. 8일 전에 마지막 동기화를 수행했으며 지금 백업을 수행했습니다.The last synchronization was 8 days ago, and now the backup is performed. 백업을 4일 후에 복원하면 마지막 동기화는 보존 기간을 지난 12일 전에 발생한 셈이 됩니다.If the backup is restored 4 days later, the last synchronization will have occurred 12 days ago, which is past the retention period. 이 경우 구독자를 다시 초기화해야 합니다.In this case, you would have to reinitialize the Subscriber. 백업 전에 구독자를 동기화한 경우 구독 데이터베이스는 보존 기간을 초과하지 않게 됩니다.If the Subscriber had synchronized before the backup, the subscription database would be within the retention period.

    백업은 구독자가 구독하는 모든 게시의 최단 보존 기간을 넘기지 않아야 합니다.The backup should be no older than the shortest retention period of all publications to which the Subscriber subscribes. 예를 들어 구독자가 각각 보존 기간이 10일, 20일, 30일인 3개의 게시를 구독하는 경우 데이터베이스 복원에 사용되는 백업은 10일보다 더 오래된 것이면 안 됩니다.For example, if a Subscriber subscribes to three publications with retention periods of 10, 20, and 30 days, respectively, the backup used to restore the database should not be more than 10 days old.

  • 복원 후 구독 데이터베이스를 각 해당 게시와 동기화하면 게시자의 모든 변경 내용이 구독자에 적용되어 최신 상태가 됩니다.Synchronizing the subscription database with each of its publications following a restore ensures that the Subscriber is up to date with all changes at the Publisher.

    게시 보존 기간을 설정하려면 구독에 대한 만료 기간 설정을 참조하세요.To set the publication retention period, see Set the Expiration Period for Subscriptions.

    밀어넣기 구독을 동기화하려면 밀어넣기 구독 동기화끌어오기 구독 동기화를 참조하십시오.To synchronize a subscription, see Synchronize a Push Subscription and Synchronize a Pull Subscription.

재게시 데이터베이스 백업 및 복원Backing Up and Restoring a Republishing Database

데이터베이스가 게시자에서 데이터를 구독한 다음 같은 데이터를 다른 구독 데이터베이스로 게시하면 이 데이터베이스는 재게시 데이터베이스가 됩니다.When a database subscribes to data from a Publisher and in turn publishes that same data to other subscription databases, it is referred to as a republishing database. 재게시 데이터베이스를 복원하는 경우 이 항목의 "게시 데이터베이스 백업 및 복원"과 "구독 데이터베이스 백업 및 복원"에 설명된 지침을 따르십시오.When restoring a republishing database, follow the guidelines described in "Backing Up and Restoring a Publication Database" and "Backing Up and Restoring a Subscription Database" in this topic.

관련 항목:See Also

SQL Server 데이터베이스 백업 및 복원 Back Up and Restore of SQL Server Databases
복제된 데이터베이스 백업 및 복원 Back Up and Restore Replicated Databases