SQL 질문과 답변 게시판
insert test values(1,'aa')
backup database test to disk='c:\test\test' -- 1번. Full 백업
insert test values(2,'bb')
backup log test to disk='c:\test\test_log' -- 2번. Log 백업 Position 1
insert test values(3,'cc')
backup log test to disk='c:\test\test_log' -- 3번. Log 백업 Position 2
-- restore headeronly from disk = 'c:\test\test_log'
-- 복구 시작
restore database test from disk = 'c:\test\test' with norecovery
restore log test from disk = 'c:\test\test_log' with recovery, file = 2
메시지 4305, 수준 16, 상태 1, 줄 1
이 백업 세트의 로그는 LSN 25000000009700001에 시작하므로 데이터베이스에 적용하기에는 너무 이른 로그입니다. LSN 25000000009100001을(를) 포함하는 더 이전의 로그 백업이 복원될 수 있습니다.
메시지 3013, 수준 16, 상태 1, 줄 1
RESTORE LOG이(가) 비정상적으로 종료됩니다.
결과적으로 3번까지 백업이 안되고 2번까지 백업이 됩니다..
restore log test from disk = 'c:\test\test_log' with recovery, file = 1
요론식으로.. file 을 안쓰면 기본으로 포지션 1 선택하더라구요..
왜그럴까요...


위의 복구 명령을
restore database test from disk = 'c:\test\test' with norecovery
GO
restore log test from disk = 'c:\test\test_log' with norecovery, file = 1
GO
restore log test from disk = 'c:\test\test_log' with recovery, file = 2
GO
위 처럼 하면 에러 안날 거 같은데요...?
어느 부분이 궁금한 건지 모르겠습니다만... 좀 자세히 말씀해 주시면 도움을 드릴 수 있을 듯...