DBCC SHRINKFILE을 사용하여 트랜잭션 로그를 축소하는 방법 입니다.


SQL Server 2000에서는 로그를 축소하는 작업이 지연되지 않고 즉시 수행됩니다. 그러나, 일부 상황에서는 먼저 추가 작업을 수행해야 로그 파일을 원하는 크기로 축소할 수 있습니다.


* 로그의 활성 부분을 비우기 위해 BACKUP LOG 문을 실행합니다.

* 로그 파일이 대상 크기로 줄어들 때까지 원하는 대상 크기를 사용하여 DBCC SHRINKFILE을 다시 실행합니다.

아래 예제에서는 pubs 데이터베이스를 사용할 때 이 방법을 사용하여 pubs_log 파일을 2MB로 축소하는 단계를 보여줍니다.

1. DBCC SHRINKFILE(pubs_log, 2)을 실행합니다.

2. 대상 크기로 축소되지 않고 아래와 같은 메시지가 반환됩니다.


모든 논리 로그 파일이 사용 중이므로 로그 파일 2(Pubs_log)을(를) 축소할 수 없습니다.
DbId FileId CurrentSize MinimumSize UsedPages EstimatedPages
----- ------- ------------ ----------- ------------- ------------------
6........2............3048..............128................3048.................128 <- 여기 있는 모든 값은 변할 수 있습니다.

(1개 행 적용됨)

DBCC 실행이 완료되었습니다. DBCC에서 오류 메시지를 출력하면 시스템 관리자에게 문의하십시오.


3. BACKUP LOG pubs WITH TRUNCATE_ONLY를 실행합니다.

4. DBCC SHRINKFILE(pubs_log,2)을 실행합니다.

5. 이제 트랜잭션 로그가 대상 크기로 줄어듭니다.


출처 - SQL Server 2000 Books Online에서 "Shrinking the Transaction Log"
2005/06/15 13:38 2005/06/15 13:38

트랙백 주소 :: http://thinkit.or.kr/database/trackback/133