SQL 트랜잭션 로그 삭제 및 축소
MSSQL 트랜잭션 로그파일 삭제 및 줄이는 방법
-로그잘라내기
1. BACKUP LOG 'DB명' TO '디바이스명(장치명)' --로그백업
BACKUP LOG 'DB명' WITH TRUNCATE_ONLY --로그 잘라내기
ex)BACKUP LOG GUNNM TO GUNNM
BACKUP LOG GUNNM WITH TRUNCATE_ONLY
위의 두가지 방법 모두 사용할 수 있으나 로그백업을 권장함(단순복구모델일때는 로그 잘라내기를 함)
2. DBCC SHRINKFILE('로그파일명', 파일크기) --파일크기를 정해주어 파일을 축소하는 방법
DBCC SHRINKFILE('로그파일명', TRUNCATEONLY) --불필요한 로그 파일을 잘라 파일을 축소하는 방법
ex)DBCC SHRINKFILE ('GUNNM_LOG',500)
DBCC SHRINKFILE ('GUNNM_LOG',TRUNCATEONLY)
DBCC LOGINFO
위의 두가지 방법 모두 사용할 수 있으니 TRUNCATEONLY를 더 권장
=====================================================================
--파일명 알아내기
EXEC SP_HELPFILE
SELECT * FROM SYSFILES
=====================================================================
* MSSQL 2008 의 경우
USE [DataBase];
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE [DataBase]
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 10 MB. <- 로그파일을 10MB로 축소
DBCC SHRINKFILE ([DataBase_Log], 10);
GO
-- Reset the database recovery model.
ALTER DATABASE [DataBase]
SET RECOVERY FULL;
GO
=====================================================================
* MSSQL 2005 의 경우
use [DB명];
sp_helpfile; <- 로그파일 정보 확인
backup log [DB명] with no_log;
dbcc shrinkfile ([로그파일명], 10); <- [로그파일명]을 10MB로 축소
=====================================================================
* MSSQL 2000 의 경우
use [DB명];
sp_helpfile; <- 로그파일 정보 확인
backup log [DB명] with truncate_only;
dbcc shrinkfile ([로그파일명], 10); <- [로그파일명]을 10MB로 축소
(예: 총 10MB , 사용률 6MB --> 9MB 축소 실행 --> 실체 축소량 4M)
'Database > MS-SQL' 카테고리의 다른 글
SQL Server 인스턴스 간에 로그인 및 암호를 전송하는 방법 (SQL 2005 이상) (0) | 2016.07.21 |
---|---|
DB 용량 확인 (0) | 2016.07.21 |
테이블 스키마 변경 (0) | 2016.07.21 |
백업 및 복원 (Backup & Restore) (0) | 2016.07.21 |
DB 생성 및 테이블 생성, 삭제 (0) | 2016.07.21 |