본문 바로가기

반응형
Notice
Recent Posts
Link
Calendar
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Total
Today
관리 메뉴

SQL Server 고가용성 : 복제(Replications) 본문

SQL Server/SQL Server 운영

SQL Server 고가용성 : 복제(Replications)

BinaryNumber 2019. 2. 14. 14:40
반응형

고가용성? 오랫동안 정상적으로 서비스를 지속하는 것

-> SQL Server가 오랫동안 정지하지 않고 임무를 수행하는 것

 

고가용성에 영향을 주는것들

1) 하드웨어 결함으로 인한 서버 정지

2) 소프트웨어 결함(버그)

3) 전쟁과 자연재해(DR - Disasters Recovery)

 

고가용성을 위한 방안 - 이중화

 문제가 발생하여 서버가 정지했더라도 서비스는 정지하지 않습니다. 물론 짧은 순간 다운타임이 있을 수 있지만, 오랜 시간 장애 상태를 경험하는 것에 비하면 거의 문제가 되지 않습니다.

 

 

복제(Replications)

원본 데이터베이스의 데이터를 다른 데이터베이스로 복사한 후, 이를 동기화시켜 사용할 수 있게(대부분 읽기전용으로 사용)하는 것

 

복제를 위한 서버의 역할

 

게시자

다른서버에 동기화될 데이터가 포함된 원본 데이터베이스를 유지 관리하는 서버

 

배포자

게시자가 제공하는 게시를 가져와 구독자에게 배포하는 역할을 맡은 서버

※ 대부분 서버 하나가 게시자와 배포자 역할을 동시에 담당하는데, 이를 '로컬 배포자'라고 합니다.

 

구독자

게시되는 데이터를 받거나 가져가는 서버

 

복제 유형

 

스냅숏 복제(Snapshot Replication)

복제를 구성하면 게시 전체를 구독자에게 정기적으로 보내서 동기화한다.

 

트랜잭션 복제(Transactionsal Replication)

스냅숏 복제를 한 후, 데이터 변경과 스키마 변경 내용을 1) 그 판독기 에이전트가 수집해 배포 데이터베이스에 기록하면, 2) 배포 에이전트가 그 내용을 읽어 구독자에 반영하여, 일관된 데이터 상태를 유지하는 유형

-> 거의 실시간 동기화를 수행!

 

병합 복제(Merge Replication)

트리거를 이용하여 게시자와 구독자의 변경 내용을 변경 추적 테이블에 기록하는 유형

 

피아 투 피어 복제(Peer To Peer Replication)

여러 SQL Server 인스턴스에 걸쳐 데이터베이스 복제본을 유지 관리해서, 확장성과 고가용성의 이점을 제공하는 복제 유형

 

 

트랜잭션 복제 실습!

 

게시 만들기

 

1) 개체 탐색기에서 [복제] - [로컬게시] - [새 게시]를 클릭하여 마법사를 실행합니다.

 

 

2) [다음]을 클릭합니다.

 

 

3) 배포자와 게시자를 같은 서버로 설정하고 [다음]을 클릭합니다.

 

 

4) 스냅숏이 저장될 장소를 지정하고 [다음]을 클릭합니다.

 

 

5) 게시할 데이터베이스를 선택하고 [다음]을 클릭합니다.

 

 

6) 트랜잭션 게시를 선택 후 [다음]을 클릭합니다.

 

 

7) 게시할 아티클을 선택하고 [다음]을 클릭합니다. (전체를 하려면 테이블을 체크합니다.)

 

 

8) 보여주고 싶은 행만 있으면 필터에서 [추가]를 누릅니다. 우리는 모두 게시할 것이기 때문에 [다음]을 클릭합니다.

 

 

9) [즉시 스냅숏을 만들고 구독 초기화에 사용할 수 있도록 유지합니다.]에 체크하고 [다음]을 클릭합니다.

 

 

10) [보안 설정]을 눌러 SQL Server 에이전트 계정으로 연결하도록 설정합니다. (에이전트 계정은 윈도우 서버에서 관리자 권한을 가지고 있어야 합니다.)

 

 

11) [게시 만들기] 체크 후 [다음]을 클릭합니다.

 

 

12) 게시 이름을 입력 후에 [마침]을 클릭합니다.

 

 

 

 

구독 만들기

1) 개체 탐색기에서 [복제] - [로컬게시] - [등록게시] - [새 구독]를 클릭하여 마법사를 실행합니다.

 

 

2) [다음]을 클릭합니다.

 

 

3) 게시를 선택합니다.

 

 

4) 구독 방법을 설정합니다.

밀어넣기 구독 : 배포자가 구독자 요청과 상관없이 변경 내용을 구독자로 전달

끌어오기 구독 : 구독자가 게시자의 변경 내용을 직접 요청

 

 

5) 구독자를 추가하기 위해 [구독자 추가] 후 구독서버를 연결합니다.

 

 

6) [...]을 클릭하여 에이전트 계정으로 연결하도록 설정합니다.

 

 

7) [다음]을 클릭합니다.

 

 

 

8) [다음]을 클릭합니다.

 

 

 

9) [다음]을 클릭합니다.

 

 

 

10) [다음]을 클릭합니다.

 

11) 완료되면 복제를 위해 만들어진 에이전트를 확인할 수 있습니다.

 

복제 제거

동기화 중지 : [등록한 구독] 우클릭 - [동기화 상태 보기] 클릭 - [중지]

로그 판독기 에이전트 중지 : [등록한 게시] 우클릭 - [로그 판독기 에이전트 상태 보기] - [중지]

 

[복제] 우클릭 - [게시 및 배포 해제] -> 마법사로 제거

 

 

 

반응형
Comments