안녕하세요.
기존에 로그파일 용량이 50G가 넘었습니다.
그래서 로그를 축소 했는데요
backup log aaa with TRUNCATE_ONLY
DBCC SHRINKFILE (aaa_log, 200)
이렇게 지정을 했습니다.
제가 알기론 50GB의 트랜잭션 정보가 200MB 줄어 들수 있는 것은
최근 200MB 의 로그만 놔 두고 나머지 49.8GB의 용량은 삭제 하는 것으로 알고 있습니다.
제가 아는 이론이 맞는지요?
ldf 파일을 용량을 축소 하는 정보는 많이 있으나
어떻게 해서 용량이 줄어 든다는 설명은 없어서요..
그리고 용량 축소 전에
backup Log BBB to disk=’C:\dbbackup\temp\aaa_log.bak’
이렇게 백업을 받았는데요.
50GB 짜리가 1.02MB 백업파일이 생성되었습니다.
정상적으로 생성된 것이 맞는지요?
aaa_log.bak 파일을 복구 하는 방법은 어떻게 되는지요?
답변 부탁 드립니다.
backup log 는 마지막 로그백업에서 현재 로그의 끝까지가 백업 됩니다.
TRUNCATE_ONLY 옵션을 줄 경우 로그 백업되는 양 만큼을 백업하지 않고 삭제합니다.
그래서 TRUNCATE_ONLY을 한 후에는 반드시 전체 백업을 하시는 것이 좋습니다.
DBCC SHRINKFILE (aaa_log, 200)
마지막 200MB가 남는 것은 아니고 파일 사이즈만 줄여 줍니다.(로그가 그 이상 있다면 사이즈는 최소 축소단위까지 줄어듭니다.)
backup Log BBB to disk=’C:\dbbackup\temp\aaa_log.bak’
이렇게 백업을 받았는데요.
50GB 짜리가 1.02MB 백업파일이 생성되었습니다.
- > TRUNCATE_ONLY로 이미 로그를 삭제 하신거 아닌가요? 50GB 정도에 백업 스켸줄이 없다면 1.02MB 가 나올 수 는 없을 것 같은데요. 만약 뭔가 로그를 쓰다가 롤백되었다면 파일사이즈만 늘겠지만 1.02MB는 너무 적은 양입니다.
복구는 Resotre 를 찾아 보시면 될 것 같습니다.
-- catchv