수동 구독 초기화

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

항목 내용

  • 시작하기 전 주의 사항

    제한 사항

  • 수동으로 구독을 초기화하려면:

    SQL Server Management Studio

    Transact-SQL

시작하기 전 주의 사항

제한 사항

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

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

SQL Server Management Studio 사용

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

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

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

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

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

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

Transact-SQL 사용

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

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

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

  2. 게시 데이터베이스의 게시자에서 sp_addsubscription을 실행합니다. @publication, @subscriber를 지정하고 @destination_db에 게시된 데이터를 포함하고 있는 구독자의 데이터베이스 이름, @subscription_typepull 값, @sync_typereplication support only 값을 지정합니다. 자세한 내용은 끌어오기 구독 만들기를 참조하십시오.

  3. 구독자에서 sp_addpullsubscription을 실행합니다. 구독 업데이트에 대한 내용은 트랜잭션 게시에 대해 업데이트할 수 있는 구독 만들기를 참조하십시오.

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

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

트랜잭션 게시에 대한 밀어넣기 구독을 수동으로 초기화하려면

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

  2. 게시 데이터베이스의 게시자에서 sp_addsubscription을 실행합니다. @destination_db에 게시된 데이터를 포함하고 있는 구독자의 데이터베이스 이름, @subscription_typepush 값, @sync_typereplication support only 값을 지정합니다. 구독 업데이트에 대한 내용은 트랜잭션 게시에 대해 업데이트할 수 있는 구독 만들기를 참조하십시오.

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

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

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

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

  2. 게시자에서 sp_addmergesubscription을 실행합니다. @publication, @subscriber, @subscriber_db를 지정하고 @subscription_type의 값을 pull로 지정하면 끌어오기 구독이 등록됩니다.

  3. 게시된 데이터가 포함된 데이터베이스의 게시자에서 sp_addmergepullsubscription을 실행합니다. @sync_typenone 값을 지정합니다.

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

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

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

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

  2. 게시 데이터베이스의 게시자에서 sp_addmergesubscription을 실행합니다. @subscriber_db에 게시된 데이터를 포함하고 있는 구독자의 데이터베이스 이름, @subscription_typepush 값, @sync_typenone 값을 지정합니다.

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

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

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

참고 항목

개념

스냅숏 없이 트랜잭션 구독 초기화

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

복제 보안을 위한 최선의 구현 방법