백업 또는 복원을 사용하여 수동으로 복제 구독을 동기화하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 320499 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 백업 및 복원을 사용하여 수동으로 복제 밀어넣기 구독을 동기화하는 방법을 설명합니다.

경우에 따라 다음과 같은 잠재적인 이유로 인해 기본 메서드를 사용하여 복제 구독을 완전히 동기화할 수 없습니다.
  1. 구독자로 전송할 수 있는 대형 테이블에 있습니다.
  2. 네트워크 대역폭 경우에만 증분 변경 내용을 처리할 수 있지만 따라서 대규모 BCPs 시간이 초과될 수 있습니다.
  3. 게시자를 프로덕션 서버, 따라서 비즈니스 아래쪽 시간을 최소화할 수 필요로 합니다.
이런 경우 SQL Server 백업이 게시된 데이터베이스 복사본을 만들 수 있습니다 다음 구독자의 데이터를 복원할 수, 이렇게 하면 복제 위로 설정하고 있습니다 네트워크를 통해 스키마 또는 사용자 데이터 배달하지 않고 복제, 사용을 테스트하는. 다음 섹션에서는 단계 및 수동 동기화 성공하지 확인해야 할 고려 사항을 나열합니다.

트랜잭션 복제

트랜잭션 복제 및 직렬 트랜잭션을 구독자에게 전달할 저장합니다. 중요한 게시된 테이블의 변경 내용을 구독자로 전송된 것처럼 순서대로 배달되는 것입니다.

새 구독을 트랜잭션 복제는 트랜잭션 로그 게시된 테이블 또는 테이블 각 변경을 표시합니다. 기본 구독 배달 방법을 테이블, bcp 유틸리티를 사용하여 데이터를 내보냅니다. 그리고 게시된 테이블 잠금을 잠그고 게시된 데이터베이스 변경 사항 추적을 시작합니다. SQL Server 2000에서 스냅샷 잠금 오버헤드가 동시 스냅샷 기능을 향상시킵니다. SQL Server 2000 및 SQL Server 7.0 스냅샷 파일 전송 프로토콜 (FTP)을 사용하여 전송할 수 있습니다. 그러나, 이러한 옵션이 허용되지 않는 상황을 백업 방법을 사용할 수 있습니다.

게시된 데이터베이스 백업 및 구독자에게 복원에 의해 데 걸리는 시간을 스냅숏 생성 프로세스 시간을 줄일 수 게시된 데이터베이스를 백업합니다. 데이터베이스 백업을 구독자로 복제를 통해 전송되는 모든 개체가 포함되어, 네트워크를 통해 테이블의 bcp 전송을 수행할 필요가 없습니다.

게시된 데이터베이스를 백업하려면 다음 두 가지가 있습니다. 첫 번째 방법은 게시된 데이터베이스의 전체 백업을 사용합니다. 전체 백업 메서드는 데이터베이스가 작은 경우 또는 데이터베이스가 전체 복구 모드에 대해 구성되지 않은 경우 가장 적합합니다. 두 번째 메서드는 트랜잭션 로그 백업을 사용하고 있는 데이터베이스의 전체 백업을 이미 캡처한 가정합니다. 트랜잭션 로그 백업 방법을 데이터베이스를 단일 사용자 모드에 있어야 합니다 시간이 단축됩니다. 트랜잭션 로그 백업은 전체 백업보다 시간이 덜 걸립니다. 트랜잭션 로그 백업 방법을 사용하려면 다음과 같이 하십시오.
  1. 게시된 데이터베이스가 전체 복구 실행되고 있지 않으면 모드를 전체 복구 모드로 변경합니다.
  2. 게시된 데이터베이스를 백업하십시오.
  3. 구독 단계별로 살펴보는 데 걸리는 시간을 최소화하기 위해 로그 파일을 백업하고 절차의 단계를 따릅니다.
위로 구독을 설정하려면 다음 이 단계를 수행하십시오.
  1. 게시된 데이터베이스 변경 내용을 데이터베이스에서 다음 저장된 프로시저를 실행하여 변경할 것을 방지하기 위해 단일 사용자 모드로 저장합니다: sp_dboption 'DBNAME', '단일 사용자', 'true'. 이 데이터베이스에서 내용을 바꾸지를 못하게 합니다. 중요한 단계입니다. 그리고 게시자, 구독자 동기화된 유지됨을 확인해야 할 수 있습니다. sp_dboption 저장 프로시저를 실행하기 전에 데이터베이스에 연결되어 있는 모든 복제 에이전트를 중지해야 합니다.
  2. 전체 백업 방법을 사용하는 경우 게시된 데이터베이스를 백업하십시오. 트랜잭션 로그 메서드를 사용하는 경우 게시된 데이터베이스의 트랜잭션 로그를 백업하십시오.
  3. 발행물에 새 구독을 만듭니다. 데이터 및 스키마를 제공하기 위해 선택있지 않습니다.
  4. 배포 에이전트 일정 화면 위로 구독을 설정하는 동안 찾습니다. 단 한 번만 실행되도록 작업을 변경하십시오. (이 배포 에이전트가 구독자에게 [데이터베이스와 트랜잭션 로그 백업을] 복원 후 때까지 실행되지 않습니다.)
  5. 다음 저장된 프로시저 호출을 사용하여 단일 사용자 모드에서 데이터베이스를 제거할: sp_dboption 'DBNAME', '단일 사용자', 'false'. 구독이 설정되어 있기 때문에 모든 변경 내용이 배포 데이터베이스로 전달됩니다.
  6. 구독자에서 데이터베이스를 복원하십시오. 트랜잭션 로그 메서드를 사용하는 경우 전체 백업과 트랜잭션 로그 백업을 복원하십시오. 배포 에이전트가 시점에서 실행해야 합니다지 않습니다. 비동기인 경우 복원 중인 데이터베이스에 없습니다. 해당 에이전트가 일정에 4단계에서 변경되었습니다.
  7. 복제 중 사용되는 삽입, 업데이트삭제 절차를 생성하십시오. 다음 절차 중 하나를 실행하여 이러한 절차 CREATE PROCEDURE 문을 생성할 수 있습니다: (복제 유형 및 SQL Server의 버전에 따라 다를 수 있는 프로시저)
    1. SQL Server 2000: sp_scriptpublicationcustomprocs

      sp_scriptpublicationcustomprocs 게시자에서 실행됩니다. 이 절차를 사용하여 구독자의 필요한 저장된 프로시저에 대한 텍스트를 생성합니다. 구독 데이터베이스에서 생성된 스크립트를 실행하십시오.
    2. 즉시 업데이트 및 지연된 구독자: sp_script_synctran_commands

      참고 즉시 업데이트 및 지연된 구독자는 4단계 예외가 있습니다. 배포 에이전트가 MSsubscription_agents 라는 지원 테이블을 생성하기 때문에 구독자 데이터베이스로 sp_script_synctran_commands 출력 적용하기 전에 배포 에이전트를 실행해야 합니다. 배포 에이전트를 실행하면 구독자 데이터베이스에 sp_script_synctran_commands에 의해 생성된 스크립트가 적용됩니다. 또한 sp_scriptpublicationcustomprocs 저장된 프로시저를 즉시 업데이트 구독자의 게시자 및 구독 데이터베이스에서 생성된 스크립트를 실행할 합니다.

    3. 그러나 구독자 데이터베이스는 sp_script_synctran_commands 출력 적용해야 합니다. 그리고 먼저 MSsubscription_agents, 지원 테이블이 생성하기 위해 배포 에이전트를 실행해야 합니다 및 sp_script_synctran_commands 실행할 때 생성된 출력이 적용할 수 있습니다. 또한 즉시 업데이트 구독자가 게시자에서 sp_scriptpublicationcustomprocs를 실행해야 합니다. 구독 데이터베이스에서 생성된 스크립트를 실행하십시오.
    4. SQL Server 7.0:에 대해 sp_scriptinsproc, sp_scriptdelproc, sp_scriptupdproc, sp_scriptmappedupdproc

      이러한 프로시저는 해당 구독자의 필요한 프로시저에 대한 스크립트를 생성합니다. 이 스크립트는 구독 데이터베이스에 대해 실행됩니다.
  8. 배포 에이전트를 시작하십시오. 위로 배포 에이전트가 계속 실행되도록 설정해야 할 수 있습니다. 이렇게 하려면 배포 에이전트 명령줄의 - 연속 추가하십시오.
추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
299903FIX: sp_scriptpublicationcustomprocs 복제 저장 프로시저를 생성합니다.

병합 복제

참고 병합 끌어오기 구독은 동기화 아니요 구독이 지원되지 않습니다.

백업 또는 복원 no-sync 옵션 가진 병합 게시에 대한 구독을 설정할 때 다음과 같이 하십시오.
  1. 데이터베이스, 게시 및 스냅샷 에이전트를 실행하십시오. 데이터베이스를 게시한 경우, 스냅샷 에이전트를 실행해야 합니다.

    게시자에서 수행된 모든 변경 내용은 지금 병합 복제 시스템 테이블에 기록됩니다.
  2. 게시된 데이터베이스 백업 및 다음 해당 구독자 복원하십시오.
  3. 새 구독을 만들고 아니오, 구독자에 이미 있는 스키마 및 데이터를 선택하십시오.
  4. 병합 에이전트를 실행하십시오.

    병합 에이전트가 실행될 때 처음 스냅샷을 병합 복제 테이블을 만드는 데 사용합니다. 스냅샷이 생성된 이후 변경한 모든 내용은 구독자에게가 적용됩니다.
    • 이 절차의 1 단계 및 2 단계 사이의 모든 행을 추가한 경우 업데이트 구독자의 새 행이 표시됩니다. 행을 인해 복원 이미 있습니다. 따라서 구독자에 대한 새 행이 표시됩니다.
    • 1단계 및 2단계가 절차의 사이의 모든 행이 삭제된 경우, 병합 에이전트를 해당 구독자 행의 존재하지 않는 때문에 변경이 이루어져야 합니다 보고합니다. 행을 게시자에서 삭제된 후에 백업 또는 복원 수행되었습니다.
    • 1단계 및 2단계가 절차의 사이의 모든 행이 업데이트된 경우 이러한 업데이트를 구독자에 대해 확인할 수 있습니다.

추가 정보

SQL Server 2005에서 백업에서 트랜잭션 구독을 초기화하는 방법에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
http://msdn2.microsoft.com/en-us/library/ms151705.aspx
SQL Server 2005의 백업 에서 병합 구독을 초기화하는 방법에 대한 자세한 내용은 다음 MSDN 웹 사이트를 방문하십시오.
http://msdn2.microsoft.com/en-us/library/ms152488.aspx

속성

기술 자료: 320499 - 마지막 검토: 2007년 11월 12일 월요일 - 수정: 7.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
키워드:?
kbmt kbhowtomaster KB320499 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com