출처: http://support.microsoft.com/kb/272318
MS-SQL 서버를 사용하다 보면, Transaction Log가 너무 커져서 디스크 공간을 다 써버리는 경우가 간혹 발생합니다. IT관리자들이 눈에 불을 켜고 감시하는 Production 환경이라면 이럴 일이 없겠지만, 개발 환경에서는 아무도 신경 안 쓰다 보면 비일비재하게 발생하는 경우입니다. –_-;;;
이럴 때에 이 Transaction Log 파일을 축소하는 방법입니다.
1. Truncate_Only 옵션을 사용해서 DB BackUp
BACKUP LOG DB_NAME WITH TRUNCATE_ONLY |
2. DBCC Shrinkfile 명령을 사용해서 로그 파일 축소하기
DBCC SHRINKFILE(DB_NAME_LOG, 2) |
위 명령을 실행하고 나면, Transaction Log 파일이 2MB(?)로 줄어들었을 것입니다. (오해 마시길 바랍니다. 출처에 나온 원래 샘플이 2MB였네요 –_-;;)
'MS-SQL' 카테고리의 다른 글
[Tip]MS-SQL에서 Transaction Log File Shrink하기 (2) | 2009.04.14 |
---|---|
[Tip]MS-SQL 2005 DB 호환성 레벨 변경 (2) | 2008.03.30 |
[Tip]죽어버린 Sharepoint 팀 사이트를 살려라 1 - Suspect 상태의 DB 회복시키기 (0) | 2007.11.09 |
[Tip]MS-SQL에서 Database 목록을 쿼리하는 SQL 문장 (4) | 2007.05.09 |
TAG MS-SQL
댓글을 달아 주세요
TRUNCATE_ONLY 옵션은 2008 버전부턴 사용되지 않습니다
2009.06.01 21:35 [ ADDR : EDIT/ DEL : REPLY ]로그를 비정상적으로 지우기 보다 제대로 사용하라는 의미인지 모르겠습니다
암튼 트랜잭션 로그의 올바른(?) 처치 방법은 두가지 인거 같네요
1. 데이터베이스 복구모델을 simple 로 하거나
2. 트랜잭션 로그를 백업하고 로그파일 크기를 줄인다 입니다
트랜잭션 로그를 백업하는 방법은
2.1 Backup log databasename to disk=’Path\Filename.trn’
로그파일 크기를 줄이는 방법은
2.2 Dbcc shrinkfile(‘logfilename’, 2) 입니다
백업된 로그파일은 지우거나 나중을 위해 남겨놓거나..
아.. 이런 과정을 거쳐도 안줄어 드는 경우가 많은데 그런 경우
이 과정(2.1. , 2.2.)을 한 번 더 반복하면 됩니다 ㅡㅡ;;;;
그 이유는 로그가 백업되면 로그파일 자체의 unused 공간은 커지는데
OS에 반환하기 위한 파일 체인이 남아있을 수 있다는 의미같은데
정확히는 모르겠네요 ㅠㅠ
하긴, 좀 비정상적인 옵션이죠. 백업인데 지우는 옵션이라니..ㅎㅎ
2009.06.15 22:37 신고 [ ADDR : EDIT/ DEL ]