트랜잭션 구독을 백업에서 초기화Initialize a Transactional Subscription from a Backup

일반적으로 트랜잭션 게시에 대한 구독은 스냅숏을 사용하여 초기화하지만 복제 저장 프로시저를 사용하여 백업에서 구독을 초기화할 수도 있습니다.Although a subscription to a transactional publication is typically initialized with a snapshot, a subscription can be initialized from a backup using replication stored procedures. 자세한 내용은 Initialize a Transactional Subscription Without a Snapshot에서 수동으로 구독을 초기화하는 방법에 대해 설명합니다.For more information, see Initialize a Transactional Subscription Without a Snapshot.

백업에서 트랜잭션 구독자를 초기화하려면To initialize a transactional subscriber from a backup

  1. 기존 게시의 경우 게시 데이터베이스의 게시자에서 sp_helppublication(Transact-SQL)을 실행하여 게시가 백업에서 초기화하는 기능을 지원하는지 확인합니다.For an existing publication, ensure that the publication supports the ability to initialize from backup by executing sp_helppublication (Transact-SQL) at the Publisher on the publication database. 결과 집합에서 allow_initialize_from_backup 값을 확인합니다.Note the value of allow_initialize_from_backup in the result set.

    • 값이 1이면 게시에서 이 기능을 지원하는 것입니다.If the value is 1, the publication supports this functionality.

    • 값이 0이면 게시 데이터베이스의 게시자에서 sp_changepublication(Transact-SQL)을 실행합니다.If the value is 0, execute sp_changepublication (Transact-SQL) at the Publisher on the publication database. @propertyallow_initialize_from_backup 값, @valuetrue 값을 지정합니다.Specify a value of allow_initialize_from_backup for @property and a value of true for @value.

  2. 새 게시의 경우 게시 데이터베이스의 게시자에서 sp_addpublication(Transact-SQL)을 실행합니다.For a new publication, execute sp_addpublication (Transact-SQL) at the Publisher on the publication database. allow_initialize_from_backuptrue값을 지정합니다.Specify a value of true for allow_initialize_from_backup. 자세한 내용은 Create a Publication를 참조하세요.For more information, see Create a Publication.

    경고

    구독자 데이터가 누락되는 것을 방지하려면 에서 sp_addpublication @allow_initialize_from_backup = N'true'을 사용할 때 항상 @immediate_sync = N'true'를 사용하십시오.To avoid missing subscriber data, when using sp_addpublication with @allow_initialize_from_backup = N'true', always use @immediate_sync = N'true'.

  3. BACKUP(Transact-SQL) 문을 사용하여 게시 데이터베이스의 백업을 만듭니다.Create a backup of the publication database using the BACKUP (Transact-SQL) statement.

  4. RESTORE(Transact-SQL) 문을 사용하여 구독자에서 백업을 복원합니다.Restore the backup on the Subscriber using the RESTORE (Transact-SQL) statement.

  5. 게시 데이터베이스의 게시자에서 sp_addsubscription(Transact-SQL) 저장 프로시저를 실행합니다.At the Publisher on the publication database, execute the stored procedure sp_addsubscription (Transact-SQL). 다음 매개 변수를 지정합니다.Specify the following parameters:

    • @sync_type - initialize with backup을 참조하세요.@sync_type - a value of initialize with backup.

    • @backupdevicetype - 백업 장치의 유형: 논리 (기본값) 디스크또는 테이프을 참조하세요.@backupdevicetype - the type of backup device: logical (default), disk, or tape.

    • @backupdevicename - 복원에 사용할 논리적 또는 물리적 백업 장치@backupdevicename - the logical or physical backup device to use for the restore.

      논리적 장치의 경우 sp_addumpdevice 를 사용하여 장치를 만들 때 지정한 백업 장치의 이름을 지정합니다.For a logical device, specify the name of the backup device specified when sp_addumpdevice was used to create the device.

      물리적 장치의 경우 DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\BACKUP\Mybackup.dat' 또는 TAPE = '\\.\TAPE0'과 같이 전체 경로와 파일 이름을 지정합니다.For a physical device, specify a complete path and file name, such as DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\BACKUP\Mybackup.dat' or TAPE = '\\.\TAPE0'.

    • (옵션) @password - 백업 장치를 만들 때 제공한 암호(Optional) @password - a password that was provided when the backup set was created.

    • (옵션) @mediapassword - 미디어 세트를 포맷할 때 제공한 암호(Optional) @mediapassword - a password that was provided when the media set was formatted.

    • (옵션) @fileidhint - 복원되는 백업 세트에 대한 식별자.(Optional) @fileidhint - identifier for the backup set to be restored. 예를 들어 1 을 지정하면 백업 미디어의 첫 번째 백업 세트를 나타내고 2 를 지정하면 두 번째 백업 세트를 나타냅니다.For example, specifying 1 indicates the first backup set on the backup medium and 2 indicates the second backup set.

    • (테이프 장치 옵션) @unload - 복원이 완료된 후 드라이브에서 테이프를 언로드해야 하는 경우 1 (기본값), 언로드하지 않아야 하는 경우 0 을 지정합니다.(Optional for tape devices) @unload - specify a value of 1 (default) if the tape should be unloaded from the drive after the restore is complete and 0 if it should not be unloaded.

  6. (옵션) 끌어오기 구독의 경우 구독 데이터베이스의 구독자에서 sp_addpullsubscription(Transact-SQL)sp_addpullsubscription_agent(Transact-SQL)를 실행합니다.(Optional) For a pull subscription, execute sp_addpullsubscription (Transact-SQL) and sp_addpullsubscription_agent (Transact-SQL) at the Subscriber on the subscription database. 자세한 내용은 Create a Pull Subscription를 참조하세요.For more information, see Create a Pull Subscription.

  7. (옵션) 배포 에이전트를 시작합니다.(Optional) Start the Distribution Agent. 자세한 내용은 Synchronize a Pull Subscription 또는 Synchronize a Push Subscription를 참조하세요.For more information, see Synchronize a Pull Subscription or Synchronize a Push Subscription.

관련 항목:See Also

백업 및 복원으로 데이터베이스 복사 Copy Databases with Backup and Restore
SQL Server 데이터베이스 백업 및 복원 Back Up and Restore of SQL Server Databases