로그 파일을 보면 파일크기는 1GB가 넘는데 실제로 사용하는 용량은 100MB도
안되고 나머지 900MB는 사용하지 않는 경우가 있다.
이는 로그파일 크기가 자동 확장으로 인하여 1GB까지 늘어 났다가
로그 백업을 수행함으로써 로그가 비워지고 다시 차는 경우이다.
많은 트랜잭션이 일어나지 않는 한 로그파일 크기가 1GB라는 것은 낭비다. 낭비~
그러므로 로그파일 크기를 줄여서 디스크 효율을 높여 보자!
1. 트랜잭션 로그 백업을 수행한다.
로그 백업을 수행하면 로그의 사용중인 공간이 줄어 든다.
(백업을 수행해 주어야 축소가 잘 된답니다 ~)
2. 로그를 비우고자 하는 해당 DB에서 작업을 수행한다.
우선 로그를 날려 버리자. 선택 사항이다. 안 해도 된다.
BACKUP LOG 데이터베이스명 WITH TRUNCATE_ONLY
이는 실제로 백업은 수행하지 않고 로그만 비워 주는 구문이다.
요걸 해야 확실하게 줄어 든다만.. 이렇게 하면 복구가 불가하므로 명령을 내린 후
풀 백업을 꼭 수행해 주어야 한다. 운영서버에서는 추천 안 한다 ..ㅡㅡ;;;
3. 그리고 이제 로그파일 크기를 줄여 보도록 하자.
DBCC SHRINKFILE(데이터베이스명_LOG,1)
요거는 로그 파일을 1MB로 줄여 주세요 라는 구문이다.
* 주의 사항 *
로그파일 크기를 최소로 축소하면 잦은 트랜잭션이 발생하는 경우에는 파일 크기를
자주 확장하기 때문에 성능저하가 일어 난다.
그러므로 무턱대고 최소로 줄이는 것은 바람직하지 않다.
적당한 크기로 줄여주는 것이 성능도 유지하고 디스크도 효율적으로 쓰는 방법이다.
~~ 파일 크기 축소에 대한 개인적인 추측 ~~
테스트를 시행하면서 문뜩... 의심이 가는 사항들을 발견했다.
워터마크라는 것을 알고 있나요??
물잔에 물을 쪼로록 따르고 마셔도 물이 제일 많이 찼을 때의 표시가 남아 있다.
요걸 보고 워터 마크라는 이름을 붙여서 컴퓨터에서 뭐시기 뭐시기 할 때 써 먹는게 있다.
이 얘기가 왜 나오느냐 하면은.... (미리 말하지만 단지 추측일 뿐입니다!!)
로그 파일 크기 축소를 실행 할 경우, 할 때마다 줄어드는 정도가 다르다는 거였다.
대충 대충... 테스트를 하면서 의심이 가던 것이..
로그 백업을 수행하기 전에 얼마나 많은 트랜잭션이 일어 났는가의 차이에 있는거 같다.
백업을 실행하기 전에 10MB의 트랜잭션이 발생한 것과 3MB의 트랜잭션이
발생 했을 때의 로그 파일 축소 정도가 달랐다는 얘기다..
고로.. MSSQL서버가 엄청 똑똑해서..(ㅡㅡ???????) 로그 파일이 다시 늘어날 크기를
예측하고 워터마크 부분 까지만 줄여 주는게 아닐까 하는 것이다.
어차피 다시 거기까지 늘어 나니까 거기까지만 줄여 준다?? 뭐 이런건가...?
.... 글로 써 버리니까 뭔 소린지 하나도 모르겠네 ㅋㅋ ㅠㅠ
암튼.. 그냥 추측.. 추측.. ㅡㅡ.. 누구 아는 사람 음는가 ㅡㅠㅡ
...........흠... 네이버꺼 그냥 옮겨 오기만 하는 구나.. =_=;;
뭔가 수정을 해서 올려야 되는데.. 귀찮쿠나 ~ ㅋㅋ
댓글