테스트용 데이터베이스 생성
CREATE DATABASE test
GO
데이터베이스 크기 확인
USE test
EXEC SP_HELPDB test
GO
로그 크기 확인!
DBCC SQLPERF(LOGSPACE)
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 0.5390625 39.58333 0
테스트용 테이블 생성
CREATE TABLE t1
(
A VARCHAR(1000)
)
GO
테스트 데이터 입력
INSERT INTO t1 VALUES (REPLICATE('A',1000))
GO
테스트를 위해서 같은 데이터 반복입력
DECLARE @i INT
SET @i = 0
WHILE @i < 10
BEGIN
INSERT INTO t1 SELECT * FROM t1
SET @i = @i + 1
END
GO
데이터베이스 크기 확인
EXEC SP_HELPDB test
GO
백업전 로그 크기 확인
DBCC SQLPERF(LOGSPACE)
GO
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 1.304688 48.35329 0
정확한 테스트를 위해서 CHECKPOINT 실행
CHECKPOINT
데이터베이스 백업
BACKUP DATABASE test TO DISK = 'D:\SQL2005DB\Backup\test.bak'
GO
데이터베이스 삭제/복원
USE master
GO
DROP DATABASE test
GO
RESTORE DATABASE test FROM DISK = 'D:\SQL2005DB\Backup\test.bak'
GO
데이터베이스 크기 확인
EXEC SP_HELPDB test
GO
USE test
GO
복원후 로그 크기 확인
DBCC SQLPERF(LOGSPACE)
GO
결과
Database Name Log Size (MB) Log Space Used (%) Status
test 1.304688 34.61826 0
※ 복원 전후의 데이터베이스/로그 파일의 크기는 같지만 로그 크기에서 Log Space Used (%)가 틀리다.
복원 전:48.35329, 후:34.61826 이걸 보면 백업이 로그를 전부 다 백업하지 않는 다는 것을 알수있다.
자세한것은 더 찾아봐야 할것 같다.