Database/MSSQL

MSSQL 로그파일 삭제, 용량 줄이기

FreeBear 2019. 2. 7. 10:32
반응형

어느날 프로그램이 되지 않아서 보니까 드라이브의 용량이 꽉 차있었다.

어디서 드라이브 용량이 꽉 찬 것인지 SpaceSniffer로 확인해보니까 MSSQL DATA 폴더에 특정 데이터베이스 로그파일이 아주 엄청 늘어나 있었다.




이전에 쓴 글인 트랜잭션 로그가 꽉 차서 해결했던 방법을 써보았으나

2018/08/17 - [Database/MSSQL] - MSSQL 오류 해결 트랜잭션 로그가 꽉 찼습니다.


드라이브에 용량이 없어도 너무 없어서 그런가 오류메시지가 발생하면서 로그파일이 삭제가 되지 않는다.


예전에 데이터베이스 속성을 통해서는 안 되었으나 쿼리를 실행했을 때는 되었던 경험을 통해 혹시 쿼리로 로그를 삭제할 수 있지 않을까 하는 생각에 방법을 찾아보았고, 아래의 sql 쿼리를 찾아내었다.



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
cs


문제없이 로그파일 용량이 대폭 줄어들었다.


반응형