이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 12586|회답: 0

[출처] SQLServer 트랜잭션 복제는 재초기화 없이 새로운 테이블을 추가합니다

[링크 복사]
게시됨 2014. 11. 26. 오후 3:51:12 | | | |
온라인 거래 복사본 구독이 진행 중이라면, 이제 새 테이블을 추가해야 합니다.

여러 가지 가능한 방법이 있습니다


1. 가장 쉬운 방법은 물론 재초기화입니다. 테이블을 추가(sp_addarticle하거나 복사 마법사를 사용하세요)하고 우클릭으로 재초기화하여 새 스냅샷을 생성합니다.
  이 방법은 수많은 장점이 있지만, 단점은 복제 구독 체인의 모든 테이블이 한 번씩 재초기화되고, 초기화 중에 읽힌 테이블에는 데이터가 없다는 점입니다. 또한 더 오래 지속될 수도 있습니다


2. 새 릴리스를 생성한 후, 업데이트된 테이블에 별도로 구독을 신청하세요
  이 방법은 비교적 안전하며 기존 복제 구독 체인에 영향을 주지 않으며, 새로 추가된 테이블은 자유롭게 초기화할 수 있습니다. 단점은 항상 이전 테이블에서 릴리스를 만들 수 없다는 점입니다. 더 신뢰할 수 있는 방법은 이 새 릴리스의 프로젝트(테이블)를 공식 릴리스 구독 체인으로 정기적으로 이전하는 것입니다. 물론, 문제가 생겼을 때 새 표를 처리할 수 있다는 점도 장점이 있습니다.


3. 세 단계로 나뉩니다:
A. 새 테이블에 전체 읽기/쓰기 데이터베이스의 데이터로 채우기(데이터 일관성 필요)
B. 로그 에이전트 읽기를 멈추세요
C. 새 테이블을 게시 구독에 추가합니다
D. 로그 읽기 에이전트를 활성화합니다
  이 방법은 온라인 출판에 큰 영향을 미치지 않지만(방법 1과 비교했을 때), 작업 중에 데이터 읽기와 복사를 중단하여 읽기/쓰기 복제 지연을 증가시킵니다. 읽기 및 쓰기 지연에 대해 너무 심하지 않다면 선택할 수 있습니다. 대본은 미리 준비하는 것을 강력히 권장합니다. 빠른 전투와 빠른 결정



이 세 가지 방법이 떠오르는 것입니다

이론적으로는 세 번째 유형이 가장 합리적이고(타협적이지만), 현재 제가 관리하는 복제 구독 환경의 요구사항에 관해서는 방법 2가 더 자주 사용됩니다. 하지만 서버 성능에 약간의 부정적인 영향이 있을 수 있습니다. 하지만 DBA가 이 22년 복제 구독을 관리할 수 있는 적절한 버퍼도 만들어줍니다






이전의:SQLServer 백업은 데이터베이스를 복원합니다
다음:sqlserver가 '%keyword%'와 같은 것을 처리할 때 인덱스 활용 문제
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com