본문 바로가기

반응형
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 고가용성 : 로그 전달(Log Shipping) 본문

SQL Server/SQL Server 운영

SQL Server 고가용성 : 로그 전달(Log Shipping)

BinaryNumber 2019. 2. 14. 16:10
반응형

 

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

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

 

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

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

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

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

 

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

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

 

 

로그 전달(Log Shipping)

 주 서버가 정기적으로 백업한 트랜잭션 로그를 보조 서버에 정기적으로 복사하고, 이를 복원해서 주 서버와 보조 서버가 같은 데이터베이스를 유지하는 방법으로 장점은 주 서버에 대한 부하를 감소시키는 게 주된 사용 목적입니다. 하지만 단점은 자동 장애 조치 기능이 없어 주 서버에 문제가 생기면 복잡한 과정을 통해 보조 서버가 주 서바가 된다. 그리고 에이전트 작업을 통해 동기화가 이루어지므로, 실시간 동기화는 불가능하다.

 

 

실습!

 

0) 공유폴더 만들기

- 주 서버에 트랜잭션 로그 백업파일을 저장할 폴더를 만듭니다.

- 그리고 폴더 우클릭 후, [속성]을 들어가 [공유]탭에 [고급 공유]를 클릭합니다.

- [선택한 폴더 공유]에 체크하고, [권한]을 눌러 폴더를 접근할 사용자를 추가합니다.

- 완성되면 네트워크 경로를 확인합니다.

 

 

 

1) 주 서버 데이터베이스 복구 모델을 '전체'로 설정합니다.

ALTER DATABASE [DB명] SET RECOVERY FULL

 

 

 

2) 주 서버 데이터베이스를 우클릭한 후, [태스크] - [트랜잭션 로그 전달]을 클릭합니다.

 

 

3) [이 데이터베이스를 로그 전달 구성의 주 데이터베이스로 사용]을 체크하고 [백업설정]을 클릭합니다.

 

 

4) 로그백업을 저장할 장소를 지정합니다. (네트워크 주소 + 로컬 경로)

그리고 [일정]을 클릭합니다.

 

 

5) 트랜잭션 로그백업을 1분마다 하도록 설정하고 [확인]을 클릭합니다.

 

 

6) 보조서버를 등록하기 위해 [추가]를 클릭합니다.

 

 

7) 보조서버를 연결한 뒤, [파일 복사] 탭에서 복사한 파일의 대상 폴더 경로를 지정합니다. (보조 서버 로컬 경로로 설정해도 된다.)

그리고 [일정]을 클릭합니다.

※ [트랜잭션 로그 복원] 탭에서는 보조 서버 데이터베이스 상태를 설정할 수 있습니다.

복구 안 함 모드 : 보조 서버 데이터베이스에 사용자가 접근할 수 없습니다.

대기모드 : 사용자가 보조 서버 데이터베이스에 데이터 수정은 불가능하지만 읽기 전용으로 접근할 수 있습니다.

 

 

8) 복사 작업을 1분마다 하도록 설정하고 [확인]을 클릭합니다.

 

 

9) 구성이 완료되면, 에이전트를 확인하여 작업이 정상적으로 등록되었는지 확인합니다.

 

 

로그 전달 비활성화 및 제거

주 서버 데이터베이스에 우클릭한 후, [태스크]-[트랜잭션 로그 전달]을 클릭합니다. 그리고 체크되어 있던 [이 데이터베이스를 ..]을 해제하고, 경고창에 [예]를 누르고, 마지막으로 [확인]을 누르면 비활성되면서 로그 전달이 해제됩니다. (해당 잡도 삭제됩니다.) 

 

 

반응형
Comments