본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

SQL Logshpping - CATEGORY

로그전달 - 트랜잭션 로그 복원 옵션

시퀄人 2016. 9. 12. 15:47

로그전달(log shipping)도 보조서버에서 READ 를 할 수 있다. 그래서 쿼리 부하 분산을 할 수 있다.

다만 실시간은 될 수 없다는 것이 단점이다.

   

부록. 트랜잭션 로그 복원

아래와 같이 2가지 모드가 있습니다.

   

복구 안함 모드 : Not Read 이며, 복원중 상태로 유지되는 모드이다.

대기모드 : 복원 시 오버헤드가 발생할 수 있지만, 읽기 가능한 상태이므로 보조 서버의 용도가 다행하게 사용가능하다.

하지만 "백업 복원시 데이터베이스이 사용자 연결 끊기" 옵션을 적용하지 않을 경우에는 장애가 발생될 수 있으므로 주의해야 한다. 그냥 체크하자.

   

"백업 복원시 데이터베이스이 사용자 연결 끊기" 해제 설정 시 아래와 같이 로그복원이 실패된다.

로그복원시 해당 데이터베이스가 접속한 세션이 있을 경우에는 아래와 같은 오류가 발생되어 복원 실패가 된다.

주의해서 설정해야 되는 부분이다.

2015-08-24 14:25:50.90 데이터베이스 복원 설정을 검색했습니다. 보조 데이터베이스: 'LogShipping', 복원 지연: 0, 모두 복원: True, 복원 모드: 대기, 사용자 연결 끊기: False, 마지막으로 복원된 파일: C:\SQLLogShipped_file\LogShipping_20150824052349.trn, 블록 크기: 지정되지 않음, 버퍼 수: 지정되지 않음, 최대 전송 크기: 지정되지 않음

2015-08-24 14:26:11.24 *** 오류: 로그 백업 파일 'C:\SQLLogShipped_file\LogShipping_20150824052500.trn'을(를) 보조 데이터베이스 'LogShipping'에 적용할 수 없습니다.(Microsoft.SqlServer.Management.LogShipping) ***

2015-08-24 14:26:11.24 *** 오류: 데이터베이스가 사용 중이어서 배타적으로 액세스할 수 없습니다.

RESTORE LOG이(가) 비정상적으로 종료됩니다.(.Net SqlClient Data Provider) ***

댓글
댓글쓰기 폼
1 2 3