Transaction Backup을 매 시간 마다 받고 있다.

여러가지 이유가 있지만 그 중에는 Transaction log가 Full 차는 경우도 있는걸로 알고 있다.

이 부분은 추가 적으로 정리해서 공유 하도록 하겠습니다.


그래서 매 시간마다 받고 있는데, 이것을 이용하여 시간마다 백업 DB에 동기화 하여 기획자나, 운영자가 Read only로 

조회 하는 것을 만들고자 제안을 했다.


이것을 Log shipping 이라고 하는 것인데, SQL Server 내 기능이 아닌 (SQL Log shipping) Transaction backup을 이용하여 log shipping을 만드는 것이다.


기존 Full backup 파일이나 Transaction log를 가지고 복원을 한다면 매번 full backup을 이용한 복구 후에 Transaction log로 복원을 해야한다.

이렇게 되면 매 시간마다 불필요한 작업이 진행되기 때문에 전체적으로 resource 낭비라고 생각했다.


그래서 full backup은 한번만 복구 후 이 후 Transaction backup파일을 가지고 진행이 안될까 찾던 중 sql server 관련한 유명한 분께 용기내어 메일을 보냈고, read only로 진행하면 가능하다는 답변을 받았다.(영광영광!!!*_* http://sqlmvp.kr )

(여담이지만 read only까지는 생각을 했지만 어디까지나 가정이었다...여기저기 검색하던 중에 이렇게 하면 되지 않을까...라는 생각..)


아래는 내가 직접 진행하고 확인한 것들이다.


(With standby 를 해 주면 된다.)


이렇게 진행하면 굳이 restore 완료 후 recovery를 하지 않아도 read only 모드로 테이블 조회가 가능하다.


RESTORE DATABASE [shipping2] FROM  DISK = N'C:\repl\backup.bak'
WITH  FILE = 1
,  MOVE N'Shipping2_Data' TO N'c:\Shipping2_data.mdf'
,  MOVE N'Shipping2_Log' TO N'c:\Shipping2_log.ldf'
, standby = 'E:\Shipping\standby.ldf'
,  norecovery
GO
- 순차 복구
restore log shipping2
from disk = N'C:\repl\Shipping2_log1.bak'
with standby = 'E:\Shipping\standby.ldf'
;
RESTORE LOG shipping2
FROM  DISK = N'C:\repl\Shipping2_log2.bak'
WITH standby = 'E:\Shipping\standby.ldf'

;




보는 바와 같이 logoff 시간을 보면 정상적으로 Transaction log가 적용 된 것을 확인할 수 있다.


더 자세한 내용은 아래 페이지에 접속해서 확인하면 좋을 듯 싶다.


개념 뿐만 아니라 많은 내용 들이 있어서 이해하기 수훨 하였다.


http://aruesoft.tistory.com/16


공식 문서

https://technet.microsoft.com/ko-kr/library/ms178034(v=sql.105).aspx

반응형

'SQL Server(MSSQL)' 카테고리의 다른 글

[mssql] database mdf/ldf 파일 이동  (0) 2017.09.28
[MSSQL] 시작..  (0) 2017.09.28

+ Recent posts