그러냐

DB로그(LDF) 용량 축소 방법 본문

mssql

DB로그(LDF) 용량 축소 방법

관절분리 2016. 1. 27. 17:54
반응형

DB에는 물리적 파일이 두개 존재 하는데 MDF 파일과 LDF 파일이 이다.

 

MDF 파일은 Table에 쌓이는 실 데이터가 기록 되며

LDF 파일은 로그데이터... 즉 쿼리등이 동작 할때 발생하는 Transaction이 기록 된다.

 

즉 쌓여있는 Data는 얼마 없으나 Transaction이 많이 발생 한다면 LDF 파일 용량은 기하급수하게 증가 된다.

 

따라서 LDF 파일은 복원할 용도가 아니라면 최대 용량 크기를 지정해두길...

 

LDF 파일은 큐(Queue)방식으로 Log가 쌓이므로 오래된 Log는 신규 Log에 밀려 삭제 된다.

 

여기서 불필요한 DB 용량을 축소 하는 방법에 대해 소개 한다.

 

MSDE 사용자 즉 OSQL 방식과 SQL Manager Tool을 통한 방식을 기술한다.

 

OSQL 방식

아래 그림과 같이 명령프롬프트(CMD)화면에서 다음과 같이 입력한다.

여기서 서버 명\DB 이름은 ODBC로 연결 되는 주소, 즉 DB엔진이 설치된 정보를 기록 한다.

Test-Server라는 PC에 DB 엔진이 Express로 설치 되었다면 Test-Server\Express 가 된다.

 

페스워드는 SA 계정 이외에 관리 하는 계정이 있다면 해당 계정 ID과 PW을 입력 한다.

 

DB 로그_이름은 해당 DB 파일.LDF 에서 DB파일 을 기록 하면 된다. 용량은 Mb 단위로 기술 한다.

 

 

SQL Manager Tool 방식

 SQL Managerment 을 실행 하여 새쿼리 을 클릭 한다.

가운데 붉은 박스에 축소 작업을 할 DB를 선택 한다. 여기서 선택 하는 DB는 OSQL에서 Use DB명과 동일한 작업 이다.

아래와 같이 QLQuery1.sql* 창이 열리는데

 

DBCC SHRINKFILE (DB로그 이름, 용량)
backup log DB명 with TRUNCATE_ONLY
dbcc shrinkdatabase(DB명, truncateonly)

 

을 입력한뒤 F5키 또는 !실행 버튼을 클릭 하면 축소 작업을 진행 한다.

 

 

주기적으로 위 작업을 진행 하기 싫을 경우 아래와 같이 LDF 가 무제한 증가 되지 않도록 설정하면 된다.

설정 방법은 해당 DB파일을 우클릭 하여 속성으로 들어가 페이지 선택 창에서 파일을 선택 하면 된다.

 

 이상 DB 파일 축소 방법 끝!!!

 

출처 : http://blog.naver.com/ojini21c?Redirect=Log&logNo=120092288479

반응형