MSSQL

트랜잭션 로그 관리

urban1980 2015. 9. 8. 17:11

트랜잭션 로그로 인하여 Disk Full이 발생 하였을 경우 아래의 방법 중 최선의 방법을 선택하여 트랜잭션 로그를 관리한다.

1. 트랜잭션 로그 현재 사용량

USE <DB명>;
EXEC SP_HELPFILE;
DBCC sqlperf(logspace);

2. 트랜잭션 로그 백업

BACKUP LOG <DB명> TO Disk='<디바이스명>'

3. 트랜잭션 로그 삭제

로그잘라내기

BACKUP LOG <DB명> WITH {NO_LOG|TRUNCATE_ONLY}

로그파일을 특정크기 (10M)로 축소

USE <DB명>;
GO

ALTER DATABASE <DB명>
SET RECOVERY SIMPLE;
GO

DBCC SHRINKFILE([DB명_log],10);
GO

ALTER DATABASE <DB명>
SET RECOVERY FULL;
GO

가능한 최소로 축소

DBCC SHRINKFILE([DB명_log],TRUNCATEONLY);
GO