이 블로그는 모든 기사에 대한 스냅샷을 생성하지 않고 구독을 초기화하기 위해 백업을 사용하여 트랜잭션 복제를 설정하는 데 필요한 자세한 단계를 보여줍니다. 스냅샷 옵션은 대규모 데이터베이스에서 시간이 많이 소요된다는 것을 알고 있기 때문입니다.
소개
매우 큰 SQL Server 데이터베이스에 대한 트랜잭션 복제를 설정하는 것은 엄청난 작업입니다. 일반적으로 스냅샷에 소요되는 시간과 스냅샷 폴더의 디스크 양을 고려하지 않고 스냅샷을 생성하여 모든 데이터베이스에서 트랜잭션 복제를 설정합니다. 초기 스냅샷을 생성하고 구독자를 다시 초기화하는 데 오랜 시간이 걸리지 않도록 하려면 이 블로그에서는 SQL 데이터베이스 백업에서 구독자를 초기화하는 쉬운 방법을 살펴봅니다.
설정의 자세한 단계를 살펴보겠습니다.
트랜잭션 복제를 설정하려면 - 먼저 배포자를 구성해야 합니다. 이 실습에서는 이미 배포자를 구성했으며 다음은 배포자 구성 방법에 대한 참조 링크입니다.
https://docs.microsoft.com/en-us/sql/relational-databases/replication/configure-publishing-and-distribution?view=sql-server-ver15
프로세스 단계 개요:
• 출판물을 만듭니다.
• 출판 속성을 수정합니다.
• 게시자 데이터베이스를 백업합니다.
• 구독자 데이터베이스에 백업을 복원합니다.
• GUI는 데이터베이스 백업에서 초기화를 지원하지 않으므로 T-SQL을 통해 구독을 만듭니다.
이 시나리오에서 트랜잭션 복제는 다음 세부 정보로 구성됩니다.
- 게시자 + 배포자:Node1
- 구독자:Node2
- 게시자 데이터베이스:ABC_Pub
- 구독자 데이터베이스:ABC_Sub
- 간행물:ABC_Pub_Bkp
- 구독:ABC_Sub_Bkp
1단계:복제할 데이터베이스를 선택하여 발행물을 생성합니다.
게시자 데이터베이스:ABC_Pub
2단계:복제에 참여할 게시 유형과 테이블을 선택합니다.
복제할 기사 선택:
3단계:우리의 경우 스냅샷 대신 데이터베이스 백업 파일을 사용하므로 공백으로 두고 다음을 클릭합니다. 다음 스냅샷에 나와 있습니다.
발행물 생성- ABC_Pub_Bkp
4단계:'백업 파일에서 초기화 허용'을 true로 설정합니다.
양식 T-SQL :
GUI에서 :출판 속성에서 구독 옵션을 선택하고 "백업 파일에서 초기화 허용"을 "true"로 설정하고 확인을 클릭하여 변경 사항을 저장합니다.
5단계:배포 정리 SQL 비활성화 서버 작업(작업 이름을 마우스 오른쪽 버튼으로 클릭하고 비활성화 클릭):
다음 단계로 백업을 수행하기 전에 작업을 비활성화해야 합니다. 그렇지 않으면 다음 오류가 발생할 수 있습니다.
6단계:Publisher에서 데이터베이스 백업을 수행합니다.
7단계:구독자 서버에서 백업을 복원합니다.
8단계:언급된 내용을 전달하여 게시 데이터베이스에서 sp_addsubscription 실행 다음 스냅샷의 매개변수.
9단계:다른 모든 단계가 완료된 후 배포 정리 작업을 활성화합니다. .
Step 10:이제 복제 → 복제 모니터에서 SSMS를 사용하여 복제 상태를 확인합니다.
백업 파일을 사용하여 초기화를 하였기 때문에 성능이 우수한 상태를 나타내고 있으며 전 과정에서 Snapshot 에이전트가 생성되지 않음을 알 수 있습니다.
결론
데이터베이스 백업 파일에서 초기화하면 대규모 데이터베이스를 동기화하려고 할 때 자체적으로 몇 가지를 생성할 때 수많은 문제가 해결됩니다. 이러한 문제는 약간의 계획을 통해 해결할 수 있으며 이 문서가 프로세스를 단순화하는 데 도움이 되기를 바랍니다.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.