본문 바로가기

IT 이야기/DB, SQL

MS SQL Server 로그파일 비우기

2009년 7월 1일 포스팅

====================


Ms sql server 를 사용하다 보면 로그파일 (확장자 LDF) 이 점점 커지는 것을 볼 수 있다.

 

백업 및 복구 할 때 중요한 정보이기는 하지만 전체 백업을 한다던가 따로 파일(MDF, LDF)을 안전하게 보관 할 경우에는 쓸데없이 자리만 차지 하게 된다.

 

예전에 작업한 DB의 경우 특히 그러한데.. DB자체의 용량이 어마어마 하다 보니 로그파일의 용량도 어마어마....

 



 

DB가 175 기가... 로그파일이 무려 25기가... -0-;;;;

파일용량에 제한을 두는 경우도 있고 주기적으로 비워주는 경우도 있으나

오늘은 이미 커져버린 로그 파일을 비우고 축소 시키는 방법을 포스팅한다~

 

Microsoft SQL Server Management Studio (SSMS) 를 사용하여 물리적으로 파일을 축소 시켜 줄 수가 있는데...

 


 

이렇게 DB에 마우스 오른쪽 클릭을 하면 나오는 파일'축소'

 

그러나 그냥 축소 하려고 하면 로그파일안에 내용이 가득 차 있기 때문에 축소가 되지 않는다.

 

그래서 로그 파일을 비워 줘야 하는데.. 그럴때 쓰는 것이 바로

 

backup log <DB 명> with truncate_only

 

.....

 

위의 쿼리를 날려 주면 로그 파일이 완전히 비워 지게 된다.

하지만 로그 파일이 비워진다는 것이 파일 크기까지 줄어든다는 말은 아니다.

파일안에 아무 것도 없을뿐 용량은 그대로~ 

 

물론 이 상태로 그냥 사용해도 된다. 비어버린 로그 파일 안에 또 다시 로그가 쌓이게 되므로 다시 꽉 차기 전까지 파일 용량 이 더 커지지는 않는다.

 

하지만 복사나 백업을 하려고 할때는 물리적으로도 파일 용량이 작으면 작업 시간이 단축되므로

위의 두번째 그림처럼 마우스 오른 클릭에서 나오는 메뉴로 축소를 해주면 된다.

 



 

위 그림에서 사용 가능한 공간 99% 라고 나오는데 로그가 다 비어서 99%의 빈공간이 있다는 뜻!

축소를 실행 하면 파일용량이 확 줄어들 것은 당연지사~ (* 파일 유형은 '로그'를 선택 할 것)

 



 

작업이 완료 되고 나면 남는 것은 560KB 의 로그파일.. 아주 깔끔해 졌다..

 

아주 간단한 작업인데.. 길게 썼다.. -_-a

 

'IT 이야기 > DB, SQL' 카테고리의 다른 글

오라클 콤마(쉼표) 쿼리  (0) 2014.07.15
MSSQL 날짜 형식 변환  (0) 2014.07.15
두개 테이블 조인해서 업데이트 - 오라클  (0) 2014.07.15
MYSQL 간단하게 쿼리 몇개~  (0) 2014.07.15
간단한 문법 부터!  (0) 2014.07.15