본문 바로가기
프로그래밍/DB

[MSSQL 트랜잭션 로그 관리] MSSQL 2000

by Super User 2011. 7. 4.
트랜잭션 로그를 자동백업 처리하지 않았거나 한번에 대량 쿼리시 트랜잭션 로그 파일이 엄청나게 증가한다.

디스크 풀의 문제 뿐만 아니라 쿼리 속도도 상당하게 떨어지게 된다.

이를 경우 로그를 백업하고 로그 파일 사이즈를 줄이는 방법이다.


1.
로그 백업을 통한 여유 공간 확보


backup log 데이타베이스명 with no_log

go

sp_helpdb 데이타베이스명 --> 확인


2. 실제 로그 파일 줄이기


dbcc shrinkfile('데이타베이스 로그파일',truncateonly)


3. 트랜잭션 로그 백업 설정


MSSQL 관리자로 들어가서 트랜잭션 로그 백업 설정을 하도록 한다.

트랜잭션 로그의 증가량을 확인하여 적절한 주기를 선택하도록 한다.


[따라하기] Sample 데이터베이스의 Sample_log 로그 파일의 가상 로그 파일을 제거하여, 트랜잭션 로그 파일을 축소합니다.

  1. 1. 가상 로그 파일 확인합니다. 결과 행의 수가 가상 로그 파일의 수입니다.
    USE Sample
    GO
    DBCC LOGINFO
    GO
    
  2. 2. 트랜잭션 로그 백업을 수행합니다. 로그 백업을 받을 수 없는 경우에는 로그를 삭제합니다.
    BACKUP LOG Sample TO DISK='D:\DBBackup\Sample_Log.bak'
    GO
    -- 또는 
    BACKUP LOG Sample WITH NO_LOG
    GO
    
  3. 3. 트랜잭션 로그 파일의 크기를 가능한 한 작은 크기로 축소합니다.
    EXEC sp_helpfile
    GO
    DBCC SHRINKFILE (Sample_log, TRUNCATEONLY)
    GO
    
  4. 4. 로그 파일의 크기를 적절하게 변경합니다.
    ALTER DATABASE Sample
    MODIFY FILE 
        ( NAME = 'Sample_log'
        , SIZE = 30)
    GO
 
 
출처: http://community.365managed.com/490

'프로그래밍 > DB' 카테고리의 다른 글

MSSQL 트랜젝션  (0) 2012.10.11
날짜 형식 사용하기  (0) 2012.09.24
오라클 암호 모를때  (0) 2011.05.18
오라클 백업 및 복구  (0) 2011.05.12
MS SQL에서 날짜 넣을때..  (0) 2010.06.24