트랜잭션 로그의 관리

2010.11.12 03:12

조인상 조회 수:22360

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

트랜잭션 로그의 관리

 

 

트랜잭션 로그를 자동증가 옵션으로 사용할 경우 무한적으로 증가할 수 있음.

Disk full을 막기 위하여 트랜잭션 로그의 관리가 필요함.


1. 트랜잭션 로그 삭제
- 트랜잭션 로그의 중요도가 낮아서 백업할 필요가 없는 경우 그냥 삭제

BACKUP LOG DB명 WITH {NO_LOG|TRUNCATE_ONLY}


2. 트랜잭션 로그 백업
- 트랜잭션 로그를 백업하면 자동으로 기존 로그 내용이 정리된다.
단, 이미 늘어나 있는 트랜잭션로그 파일(?.LDF)의 사이즈가 줄어드는건 아니고,
로그의 내용만 삭제된다.

BACKUP LOG DB명 TO DISK = <백업파일명>


3. 트랜잭션 로그 파일 사이즈 줄이기
- ?.LDF 파일의 실제 사이즈를 줄이고 싶을 경우

DBCC SHRINKDATABASE(DB명,TRUNCATEONLY)

or

BACKUP LOG DB명 WITH TRUNCATE_ONLY

트랜잭션 로그 내용이 있는 만큼의 사이즈로 줄어든다.

 


* 트랜잭션 로그의 MAX 사이즈 제한
- 특정 용량 이상으로 늘어나길 원치 않을 경우 사이즈를 제한한다.
제한사이즈를 넘어설 경우 옛 데이터부터 자동 삭제된다.

DBCC SHRINKDATABASE(DB명,1024)

DB명 뒤의 단위는 MB.

 

 

4. 확인 방법

MS-SQL Server Management Studio 등에서 SQL명령어로

 

Use <DB명>;

DBCC LOGINFO;             /* 로그파일 정보 보기 */

EXEC SP_HELPFILE;       /* 데이터파일,로그파일 정보 보기 */

select * from sysfiles          /* 데이터파일,로그파일 정보 보기 */

dbcc sqlperf(logspace);      /* 로그파일 사용량(%) 보기 */

 

 

 

서버에 요청 중입니다. 잠시만 기다려 주십시오...