SQL Server 고가용성 : 로그 전달(Log Shipping) 본문
고가용성? 오랫동안 정상적으로 서비스를 지속하는 것
-> 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) 구성이 완료되면, 에이전트를 확인하여 작업이 정상적으로 등록되었는지 확인합니다.
로그 전달 비활성화 및 제거
주 서버 데이터베이스에 우클릭한 후, [태스크]-[트랜잭션 로그 전달]을 클릭합니다. 그리고 체크되어 있던 [이 데이터베이스를 ..]을 해제하고, 경고창에 [예]를 누르고, 마지막으로 [확인]을 누르면 비활성되면서 로그 전달이 해제됩니다. (해당 잡도 삭제됩니다.)
'SQL Server > SQL Server 운영' 카테고리의 다른 글
SQL Server 고가용성 : AlwaysOn 가용성 그룹(Availability Groups) (0) | 2019.02.18 |
---|---|
SQL Server 고가용성 : 미러링(Database Mirroring) (0) | 2019.02.18 |
SQL Server 고가용성 : 복제(Replications) (0) | 2019.02.14 |
SQL Server 엑셀 데이터 가져오기/내보내기 (1) | 2019.02.11 |
데이터베이스 백업과 복원 (0) | 2019.02.11 |