Study/DATABASE

[MSSQL] LDF 파일 줄이기

촉촉한초코니 2014. 1. 2. 14:59
728x90
반응형

MSSQL 2012 트랜잭션 로그가 'LOG_BACKUP'(으)로 인해 꽉 찼습니다.

라는 오류메세지가 나타났을때 해결 방법

DBCC SHRINKFILE(Transact-SQL) 사용

현재 데이터베이스에 대해 지정한 데이터 또는 로그 파일의 크기를 축소하거나 지정한 파일의 데이터를 같은 파일 그룹의 다른 파일로 이동하여 파일을 비우고 데이터베이스에서 제거할 수 있도록 합니다. 파일을 만들 때 지정한 크기보다 작게 파일을 축소할 수 있습니다. 이 작업은 최소 파일 크기를 새 값으로 다시 설정합니다.

 

-- SQL의 LOG 정보 확인
DBCC SQLPERF(LOGSPACE)

-- 해당하는 DB의 LOG 파일 용량을 확인 후 용량을 줄이는 아래 쿼리 실행.

 

-- 트랜잭션 로그파일 최소의 단위로 축소
BACKUP LOG [ezCommon_log] WITH TRUNCATE_ONLY

또는

-- 트랜잭션 로그파일을 삭제
BACKUP LOG [ezCommon] WITH NO_LOG

 

-- 해당 DB_LOG 이름을 넣고 실행 (여기서는 ezCommon)

--ezCommon_log 파일의 용량을 10MB로 줄임
DBCC SHRINKFILE (ezCommon_log, 10)

--해결되지 않을 경우

 

--DBCC SHRINKFILE 명령이 파일을 축소할 수 있도록 먼저 데이터베이스 복구 모델을 SIMPLE로 설정하여 파일을 자릅니다.
alter database ezcommon
set recovery simple

또는

ALTER DATABASE ezcommon
SET RECOVERY FULL

실행후

--ezCommon_log 파일의 용량을 10MB로 줄임
DBCC SHRINKFILE (ezCommon_log, 10)

을 다시 실행해본다.

 

-- 파일용량 1024MB로 수정

alter DATABASE [ezCommon]
modify file(name=ezCommon_log, maxsize=1024MB)

----------------------------------------------------------

* 다른 예시

use ezCommon
-- DB 정보 보기
exec sp_helpdb ezCommon

 -- 트랜잭션 로그파일을 10메가로 생성
backup log ezCommon with TRUNCATE_ONLY

-- LDF 파일 크기 줄이기
DBCC SHRINKFILE ([ezCommon_Log], 10)

-- MDF 파일 크기 줄이기
DBCC SHRINKDATABASE(ezCommon)


-- MSSQL의 ldf 파일 용량 줄이기
-- 트랜잭션 로그파일 최소의 단위로 축소
backup log ezCommon with truncate_only

-- 트랜잭션 로그파일을 삭제
backup log ezCommon with no_log

-- 트랜잭션 로그파일을 10메가로 생성
dbcc shrinkfile (ezCommon_log, 10)

DBCC SHRINKFILE (file_name, target_size)
DBCC SHRINKDATABASE (database_name, target_percent)

 

참고 : http://msdn.microsoft.com/ko-kr/library/ms189493.aspx

 

728x90
반응형

'Study > DATABASE' 카테고리의 다른 글

[MSSQL] LEN(컬럼 or 문자열)  (0) 2014.02.10
[MSSQL] Truncate table  (0) 2014.01.13
[MSSQL] replace 로 글자 바꾸기  (0) 2013.12.19
[MSSQL] ISDATE()  (0) 2013.10.07
[MSSQL] INSERT INTO 테이블  (0) 2013.04.25