다음을 통해 공유


수동으로 구독 초기화

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server 2014에서 수동으로 구독을 초기화하는 방법을 설명합니다. 초기 스냅샷은 일반적으로 구독을 초기화하는 데 사용되지만 스키마 및 초기 데이터가 구독자에 이미 있는 경우 스냅샷을 사용하지 않고 게시 구독을 초기화할 수 있습니다.

시작하기 전에

한계 및 제한사항

  • 데이터와 스키마가 구독자에 복사되는 시간과 구독이 수동으로 초기화되는 시간 사이에 트랜잭션 복제를 사용하여 게시된 데이터베이스에 작업이 있는 경우 이 활동으로 인한 변경 내용이 구독자에 복제되지 않을 수 있습니다.

SQL Server Management Studio 사용

게시물에 대한 구독을 수동으로 초기화하려면 스키마(및 일반적으로 데이터)를 구독 데이터베이스에 복사합니다. 스키마와 데이터는 게시 데이터베이스와 일치해야 합니다. 그런 다음 새 구독 마법사의 구독 초기화 페이지에서 구독 에 스키마 및 데이터가 필요하지 않도록 지정합니다. 이 마법사에 액세스하는 방법에 대한 자세한 내용은 스냅샷 없이 트랜잭션 구독 초기화끌어오기 구독 만들기를 참조하세요.

구독을 처음으로 동기화하면 복제에 필요한 개체와 메타데이터가 구독 데이터베이스에 복사됩니다.

게시에 대한 구독을 수동으로 초기화하려면

  1. 스키마와 데이터가 구독 데이터베이스에 복사되었는지 확인합니다.

  2. 새 구독 마법사의 구독 초기화 페이지에서 초기화 확인란의 선택을 취소합니다. 복제 개체 및 메타데이터만 복사해야 하는 각 구독에 대해 이 작업을 수행합니다.

Transact-SQL 사용

복제 저장 프로시저를 사용하여 구독을 수동으로 초기화할 수 있습니다.

트랜잭션 게시를 위한 끌어오기 구독을 수동으로 초기화하려면

  1. 스키마와 데이터가 구독 데이터베이스에 있는지 확인합니다. 자세한 내용은 스냅샷 없이 트랜잭션 구독 초기화를 참조하세요.

  2. 게시 데이터베이스의 게시자에서 sp_addsubscription 실행합니다. @publication, @subscriber, 구독자에서 게시된 데이터를 포함하는 데이터베이스의 이름인 @destination_db, @subscription_type에 대해 끌어오기 값을 지정하고, @sync_type에 대해 복제 지원 전용 값을 지정합니다. 자세한 내용은 끌어오기 구독 만들기를 참조하세요.

  3. 구독자에서 sp_addpullsubscription 실행합니다. 구독 업데이트는 트랜잭션 게시에 업데이트할 수 있는 구독 만들기를 참조하세요.

  4. 구독자에서 sp_addpullsubscription_agent 실행합니다. 자세한 내용은 끌어오기 구독 만들기를 참조하세요.

  5. 배포 에이전트를 시작하여 복제 개체를 전송하고 게시자에서 최신 변경 내용을 다운로드합니다. 자세한 내용은 풀 구독 동기화를 참조하십시오.

트랜잭션 발행물의 푸시 구독을 수동으로 초기화하려면

  1. 스키마와 데이터가 구독 데이터베이스에 있는지 확인합니다. 자세한 내용은 스냅샷 없이 트랜잭션 구독 초기화를 참조하세요.

  2. 게시 데이터베이스의 게시자에서 sp_addsubscription 실행합니다. @destination_db에 게시된 데이터를 포함하고 있는 구독자의 데이터베이스 이름과, @subscription_type에 대한 값으로 푸시를, @sync_type에 대한 값으로 복제 지원 전용을 지정합니다. 구독 업데이트는 트랜잭션 게시에 업데이트할 수 있는 구독 만들기를 참조하세요.

  3. 게시 데이터베이스의 게시자에서 sp_addpushsubscription_agent 실행합니다. 자세한 내용은 밀어넣기 구독 만들기를 참조하세요.

  4. 배포 에이전트를 시작하여 복제 개체를 전송하고 게시자에서 최신 변경 내용을 다운로드합니다. 자세한 내용은 푸시 구독 동기화에 대한 정보를 보려면 참조하세요.

병합 게시에 대한 끌어오기 구독을 수동으로 초기화하려면

  1. 스키마와 데이터가 구독 데이터베이스에 있는지 확인합니다. 이 작업은 구독자에서 게시 데이터베이스의 백업을 복원하여 수행할 수 있습니다.

  2. 게시자에서 sp_addmergesubscription 실행합니다. @publication, @subscriber, @subscriber_db@subscription_type에 대해 끌어오기 값을 지정합니다. 끌어오기 구독을 등록합니다.

  3. 게시된 데이터가 포함된 데이터베이스의 구독자에서 sp_addmergepullsubscription 실행합니다. @sync_type 대한 값 없음을 지정합니다.

  4. 구독자에서 sp_addmergepullsubscription_agent을 실행합니다. 자세한 내용은 끌어오기 구독 만들기를 참조하세요.

  5. 병합 에이전트를 시작하여 복제 개체를 전송하고 게시자에서 최신 변경 내용을 다운로드합니다. 자세한 내용은 풀 구독 동기화를 참조하십시오.

병합 게시에 대한 푸시 구독을 수동으로 초기화하려면

  1. 스키마와 데이터가 구독 데이터베이스에 있는지 확인합니다. 이 작업은 구독자에서 게시 데이터베이스의 백업을 복원하여 수행할 수 있습니다.

  2. 게시 데이터베이스의 게시자에서 sp_addmergesubscription 실행합니다. @subscriber_db에 게시된 데이터를 포함하고 있는 구독자 데이터베이스의 이름과 @subscription_type에 대한 값으로 푸시, @sync_type에 대한 값으로 없음을 지정합니다.

  3. 게시 데이터베이스의 게시자에서 sp_addmergepushsubscription_agent 실행합니다. 자세한 내용은 밀어넣기 구독 만들기를 참조하세요.

  4. 병합 에이전트를 시작하여 복제 개체를 전송하고 게시자에서 최신 변경 내용을 다운로드합니다. 자세한 내용은 푸시 구독 동기화에 대한 정보를 보려면 참조하세요.

또한 참조하십시오

스냅샷 없이 트랜잭션 구독 초기화
복제된 데이터베이스 백업 및 복원
복제 보안 모범 사례