개발팁2016. 6. 8. 00:30

MS-SQL 의 데이터베이스 물리적 파일인 .MDF .LDF 파일의 용량이 갈수록 커지면서,
하드디스크 용량을 많이 차지 한다면, 아래와 같은 방법으로 용량을 줄여보자.


ALTER DATABASE DB명 SET RECOVERY SIMPLE
go
DBCC SHRINKFILE(DB명_Data)
go
DBCC SHRINKFILE(DB명_Log)
go
ALTER DATABASE DB명 SET RECOVERY FULL
go

 

 

위의 쿼리로 MDF, LDF 파일의 용량을 모두 줄일수 있지만,
MDF 는 데이터 파일이라, 용량이 그다지 줄지는 않을것이다.
아래와 같이 Log 파일만 줄여도 상관이 없다.

 

ALTER DATABASE DB명 SET RECOVERY SIMPLE
go
DBCC SHRINKFILE(DB명_Log)
go
ALTER DATABASE DB명 SET RECOVERY FULL
go

 

 

 


데이터 파일과 로그파일의 논리적 이름을 적어줘야 하는데, 어떤걸로 되어 있는지 모를경우,
데이터베이스 속성에서 아래와 같이 논리적 이름을 확인할 수 있다.

 

또는,
sp_helpdb DB명

명령으로도 쉽게 확인이 가능하다.

 

 

쿼리의 실행전,실행후 용량 비교이다.

 

 

PS. 이 쿼리는 MS-SQL 2012 이후 버전에서 실행되었습니다.

Posted by 헝개