본문 바로가기

Database/SQL Server

DBCC Shrinkfile

SQL Server의 LOG파일이 비정상적으로 커졌을 때 축소하기 위해 많이 사용됩니다.

dbcc shrinkfile

우선 해당데이터베이스의 파일 및 로그 사이즈를 확인합니다.

sp_helpdb DB
-- 891500416 KB
-- 5251584 KB

 

로그 파일의 사이즈 및 사용량을 알아봅니다.

dbcc sqlperf(logspace)

 

트랜잭션 로그 백업을 해서 로그파일내 내용을 삭제하거나

복구모드를 변경하여 로그 파일내 정보를 삭제합니다. 아래는 복구모드를 변경하는 예시입니다.

USE [master]
GO
ALTER DATABASE DB명 SET RECOVERY SIMPLE WITH NO_WAIT
GO

 

다시 전체모드로 바꿔줍니다.

USE [master]
GO
ALTER DATABASE DB명 SET RECOVERY FULL WITH NO_WAIT
GO

 

복구모드는 원래대로 FULL로 바뀌었고 로그파일 내 내용은 삭제되었지만 파일이 축소되지는 않았습니다.

아래와 같이 축소합니다. 100MB로 줄어드는 예시입니다.

use DB명
dbcc shrinkfile('로그파일명', 100)