로그 비우는것과 파일을 줄이는것은 가끔식 헷갈리때가 있다.
(나만 그런가? ㅋㅋ)


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

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 리치타이거