트랜잭션 게시에 대한 구독은 일반적으로 스냅샷을 사용하여 초기화되지만 복제 저장 프로시저를 사용하여 백업에서 구독을 초기화할 수 있습니다. 자세한 내용은 스냅샷 없이 트랜잭션 구독 초기화를 참조하세요.
백업에서 트랜잭션 구독자를 초기화하려면
기존 게시의 경우 게시 데이터베이스의 게시자에서 sp_helppublication(Transact-SQL) 를 실행하여 게시가 백업에서 초기화하는 기능을 지원하는지 확인합니다. 결과 집합의 allow_initialize_from_backup 값을 확인합니다.
값이 1이면 게시에서 이 기능을 지원합니다.
값이 0이면 게시 데이터베이스의 게시자에서 sp_changepublication(Transact-SQL) 를 실행합니다. @property에 대해 allow_initialize_from_backup 값을 지정하고
true에 @value 값을 지정합니다.
새 게시의 경우 게시 데이터베이스의 게시자에서 sp_addpublication(Transact-SQL) 를 실행합니다.
true로 allow_initialize_from_backup의 값을 지정합니다. 자세한 내용은 게시 만들기를 참조하세요.경고
구독자 데이터 누락을 방지하려면 sp_addpublication을 사용할 때
@allow_initialize_from_backup = N'true'와 항상@immediate_sync = N'true'도 사용하세요.BACKUP(Transact-SQL) 문을 사용하여 게시 데이터베이스의 백업을 만듭니다.
RESTORE(Transact-SQL) 문을 사용하여 구독자에서 백업을 복원합니다.
게시 데이터베이스의 게시자에서 저장 프로시저 sp_addsubscription(Transact-SQL)를 실행합니다. 다음 매개 변수를 지정합니다.
@sync_type - 백업을 사용하여 초기화하는 값입니다.
@backupdevicetype - 백업 디바이스의 유형: 논리 (기본값), 디스크 또는 테이프입니다.
@backupdevicename - 복원에 사용할 논리적 또는 물리적 백업 디바이스입니다.
논리 디바이스의 경우 sp_addumpdevice 디바이스를 만드는 데 사용되었을 때 지정된 백업 디바이스의 이름을 지정합니다.
물리적 디바이스의 경우 전체 경로 및 파일 이름(예:
DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\BACKUP\Mybackup.dat'또는TAPE = '\\.\TAPE0'.)을 지정합니다.(선택 사항) @password - 백업 세트를 만들 때 제공된 암호입니다.
(선택 사항) @mediapassword - 미디어 세트의 형식을 지정할 때 제공된 암호입니다.
(선택 사항) @fileidhint - 복원할 백업 집합의 식별자입니다. 예를 들어 1 을 지정하면 백업 매체에서 첫 번째 백업 집합이 표시되고 2 는 두 번째 백업 집합을 나타냅니다.
(테이프 디바이스의 경우 선택 사항) @unload - 복원이 완료된 후 드라이브에서 테이프를 언로드해야 하는 경우 1 (기본값) 값을 지정하고 언로드하지 않아야 하는 경우 0 을 지정합니다.
(선택 사항) 끌어오기 구독의 경우 구독 데이터베이스의 구독자에서 sp_addpullsubscription(Transact-SQL) 및 sp_addpullsubscription_agent(Transact-SQL) 를 실행합니다. 자세한 내용은 끌어오기 구독 만들기를 참조하세요.
(선택 사항) 배포 에이전트를 시작합니다. 자세한 내용은 끌어오기 구독 동기화 또는 밀어넣기 구독 동기화를 참조하세요.