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)
--해결되지 않을 경우
--
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
'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 |