2010. 6. 4. 01:12

복제::스냅숏 DB를 사용한 게시 초기화

스냅숏 DB를 사용한 게시 초기화 방법

트랜잭션 복제, 병합복제, 스냅숏 복제에 게시를 초기화 하는 방법 중에 스냅숏 DB를 사용한 게시 초기화 방법.

  •  SQL Server 2005 Enterprise Edition 서비스 팩 2 이상 버전일 경우만 가능

 

현재 구독 초기화 방법중 알고 있는 방법은

  • 스냅숏 복제를 이용하는 방법
  • Db 백업 후 복원을 이용하는 방법
  • 게시할 테이블을 BCP 나 SSIS를 통해 데이터를 이관해 둔 상태로 처리하는 방법
  • 스냅숏 DB를 사용하는 방법

 

방법

게시의 속성 중에  sync_method 옵션중에  database snapshot 가 추가 되었음 (database snaphort character : 문자모드, 사용하지 않은 것이 좋을 것 같음)
해당 옵션은 복제 마법사를 통해서 세팅이 불가능하며, 게시를 설정한 후 아래 스크립트로 변경해야 한다. 

  1.  

     -- 게시 DB에서 실행 해야 한다.

  2. exec sp_helppublication;  -- 조해 본다.

     

    exec sp_changepublication

     

        @publication = '게시 이름',

     

        @force_invalidate_snapshot = 1,

     

        @property  = 'sync_method',

         @value = 'database snapshot'  -- 5

 

결과

  •  이 방법으로 변경해서 게시를 초기화 하게 되면 게시이름_DB 이름으로 스탭숏 DB가 생성되며, 게시가 초기화 완료되면 삭제된다. 기존에 동일한 스탭숏 DB가 있다고 해도 항상 새로 생성한다. 
  • 대용량 DB일 경우 스탭숏 DB를 생성할 공간만 있다면, 이 방법을 사용했을 때 스냅숏 초기화 하는 과정 동안 서비스 DB에  테이블 lock가 걸리지 않으므로 서비스에 지장이 덜 가게 된다. 
  • 스냅숏 복제 작동 방법 : http://msdn.microsoft.com/ko-kr/library/ms151734(SQL.90).aspx

참고

 

 

이 글은 스프링노트에서 작성되었습니다.

'Replication' 카테고리의 다른 글

복제::#5 구현&삭제 스크립트  (0) 2010.06.04
복제::머지복제에러  (0) 2010.06.04
복제::지연된 명령어 확인  (0) 2010.04.13
복제::잘못 삭제 했을 경우  (0) 2010.03.15