로그 비우는것과 파일을 줄이는것은 가끔식 헷갈리때가 있다.
(나만 그런가? ㅋㅋ)
CREATE DATABASE test
GO
USE test
GO
데이터 가져오기
SELECT * INTO t1
FROM Northwind..[Order Details]
GO
로그 채우기(데이터 입력)
DECLARE @i int
SET @i=1
WHILE @i <20
BEGIN
INSERT INTO t1
SELECT *
FROM Northwind..[Order Details]
SET @i=@i+1
END
GO
전체 백업전 로그 크기 확인
DBCC SQLPERF(LOGSPACE)
GO
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 1.2421875 56.761005 0
전체 백업
BACKUP DATABASE test TO DISK='D:\SQL2005DB\Backup\test.bak'
GO
전체 백업후 로그 크기 비교
DBCC SQLPERF(LOGSPACE)
GO
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 1.2421875 42.806602 0
로그 백업
backup log test to disk='D:\SQL2005DB\Backup\test.bak'
GO
로그 백업 후 로그 크기 비교
DBCC SQLPERF(LOGSPACE)
GO
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 1.2421875 42.806602 0
다시 데이터 입력해서 로그 채우기
DECLARE @i int
SET @i=1
WHILE @i <20
BEGIN
INSERT INTO t1
SELECT *
FROM Northwind..[Order Details]
SET @i=@i+1
END
GO
로그 크기 확인
DBCC SQLPERF(LOGSPACE)
GO
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 5.0546875 84.804871 0
로그 비우기(로그만 비운다)
BACKUP LOG test WITH NO_LOG
GO
로그 크기 확인
DBCC SQLPERF(LOGSPACE)
GO
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 5.0546875 30.187403 0
로그 파일 줄이기
DBCC SHRINKFILE(TEST_LOG,2)
로그 크기 확인
DBCC SQLPERF(LOGSPACE)
GO
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 1.9921875 30.187403 0