|
온라인 거래 복사본 구독이 진행 중이라면, 이제 새 테이블을 추가해야 합니다. 여러 가지 가능한 방법이 있습니다
1. 가장 쉬운 방법은 물론 재초기화입니다. 테이블을 추가(sp_addarticle하거나 복사 마법사를 사용하세요)하고 우클릭으로 재초기화하여 새 스냅샷을 생성합니다. 이 방법은 수많은 장점이 있지만, 단점은 복제 구독 체인의 모든 테이블이 한 번씩 재초기화되고, 초기화 중에 읽힌 테이블에는 데이터가 없다는 점입니다. 또한 더 오래 지속될 수도 있습니다
2. 새 릴리스를 생성한 후, 업데이트된 테이블에 별도로 구독을 신청하세요 이 방법은 비교적 안전하며 기존 복제 구독 체인에 영향을 주지 않으며, 새로 추가된 테이블은 자유롭게 초기화할 수 있습니다. 단점은 항상 이전 테이블에서 릴리스를 만들 수 없다는 점입니다. 더 신뢰할 수 있는 방법은 이 새 릴리스의 프로젝트(테이블)를 공식 릴리스 구독 체인으로 정기적으로 이전하는 것입니다. 물론, 문제가 생겼을 때 새 표를 처리할 수 있다는 점도 장점이 있습니다.
3. 세 단계로 나뉩니다: A. 새 테이블에 전체 읽기/쓰기 데이터베이스의 데이터로 채우기(데이터 일관성 필요) B. 로그 에이전트 읽기를 멈추세요 C. 새 테이블을 게시 구독에 추가합니다 D. 로그 읽기 에이전트를 활성화합니다 이 방법은 온라인 출판에 큰 영향을 미치지 않지만(방법 1과 비교했을 때), 작업 중에 데이터 읽기와 복사를 중단하여 읽기/쓰기 복제 지연을 증가시킵니다. 읽기 및 쓰기 지연에 대해 너무 심하지 않다면 선택할 수 있습니다. 대본은 미리 준비하는 것을 강력히 권장합니다. 빠른 전투와 빠른 결정
이 세 가지 방법이 떠오르는 것입니다 이론적으로는 세 번째 유형이 가장 합리적이고(타협적이지만), 현재 제가 관리하는 복제 구독 환경의 요구사항에 관해서는 방법 2가 더 자주 사용됩니다. 하지만 서버 성능에 약간의 부정적인 영향이 있을 수 있습니다. 하지만 DBA가 이 22년 복제 구독을 관리할 수 있는 적절한 버퍼도 만들어줍니다
|