트랜젝션 로그 설정을 자동 증가가 되지 않도록 해놓았을때 로그가 정해진 용량에 도달하면
The transaction log for database <DataBase Name> is full. To find out why space in the log cannot be reused. see the log_reuse_wait_desc column in sys.databases
라는 문구를 내보내면서 쿼리가 동작하지 않는다.
해결 방법으로는 정해진 용량을 자동 증가되도록 설정하는 방법이있다.
DataBase Properties -> Files -> Log 파일을 선택해서 Autogrowth 옵션에 자동 증가를 켜준다. 그리고 무제한 증가로 설정해주면 된다.
단, 이때 이 Log 파일이 커지다보면 HDD 용량을 초과하게 되고, 더 이상 쓸 수 없게 되는 경우가 발생한다.
이때는 백업을 해놓고 Log 파일의 사이즈를 다시 줄여주면 된다.
<Log 파일의 사이즈를 줄여주는 쿼리>
USE [DataBaseName];
GO
// 복구모델 변경
ALTER DATABASE [DataBaseName]
SET RECOVERY SIMPLE;
GO
// Log 파일을 10MB로 설정
DBCC SHRINKFILE ([LogFileName], 10);
GO
// 복구모델 다시 세팅
ALTER DATABASE [DataBaseName]
SET RECOVERTY FULL;
GO
<Log 파일의 이름을 찾아오는 쿼리>
// 결과에서 name 컬럼의 값이 LogFileName 이다.
1) EXEC SP_HELPFILE
2) SELECT * FROM SYSFILES
<현재 사용 중인 트랜잭션 로그의 현황을 보기>
DBCC SQLPERF('LogSpace')
'Development > Database' 카테고리의 다른 글
MSSQL 계정 로그인 잠김 풀기. (0) | 2016.09.06 |
---|---|
Query 정리 (0) | 2011.02.09 |