티스토리 뷰

mssql은 복구를 위해 실제데이터(확장자 mdf)와 트랜잭션로그데이터(확장자 ldf)를 기록 

mdf는 말그대로 디비에 저장되는 실데이터를 말하며, ldf는 트랜잭션로그, 즉 이러한 데이터를 이용한 읽기, 수정, 삭제 등의 모든 로그를 기록 

오류나 기타 문제로 로그파일이 급격하게 커져 하드디스크 용량 부족으로 문제가 발생할수있음.   


쿼리분석기 실행 


트랜잭션로그를 백업할 디비를 지정 

use testdb  -- testDB를 지정 


로그파일의 정보를 확인

dbcc loginfo 


현재 지정된 디비가 사용하는 mdf 및 ldf파일의 경로, 이름 및 크기를 확인 

exec sp_helpfile 


위에서 정해준 디비의 로그를 백업 

backup Log testdb to disk='d:\mssql\data\testdb.bak'

go 


트랜잭션 로그파일을 최소의 단위로 축소 

backup log testdb with truncate_only 


트랜잭션 로그파일을 삭제

backup log testdb with no_log 


트랜잭션 로그파일을 20메가로 생성

dbcc shrinkfile (testdb_log, 20) 


작업 완료 후 로그파일 크기 제한...

기본으로 설정되어있는 파일크기가 클경우 오류 발생함~ 

alter database testdb

modify file (name = testdb_log,maxsize = 100mb )

go

 

로그 크기 너무 심하게 제한 두시면..

트랜젝션 로그 꽉찼다고 DB오류 발생합니다~~


'serverSide > MSSQL' 카테고리의 다른 글

[MSSQL2005]누적 합 구하기  (1) 2015.01.30
[MSSQL] 테이블별 용량 row수  (0) 2014.09.10
[MSSQL2005] DB 전체 검색  (0) 2014.09.05
MSSQL2005 순위 함수  (0) 2014.09.04
MSSQL 인젝션 스크립트 체크  (0) 2014.09.04
댓글