MSSQL 2008/MSSQL 관리

오류처리 - 트랜잭션 로그 파일의 용량 초과 처리 방법

본클라쓰 2010. 12. 24. 16:05

 

 트랜잭션 로그 파일에 더 이상 데이터를 집어넣을 수 없을 때 SQL 서버는 9002 오류를 발생시킵니다. 로그 파일은 데이터베이스가 온라인 상태이거나 복구 중일 때 꽉 찰 수 있습니다. 로그 파일에 로그가 꽉 차면 온라인 상태로 유지되지만 데이터를 읽을 수만 있고 업데이트 할 수 없습니다. 이 경우 사용 가능한 로그 공간을 만들어야 합니다.

 이 경우 로그 파일의 용량을 늘리는 방법이나 로그 파일 백업을 통해 로그 파일을 초기화시키는 방법으로 오류를 해결할 수 있습니다. 로그 파일이 백업되면 기존에 있던 로그는 백업 파일로 이동되고 로그 파일은 초기화됩니다.

 

 

 

로그 파일 백업하는 방법

 

 로그 파일을 백업할 때는 데이터베이스 복구 모델이 '단순모델'일 경우 백업할 수 없습니다. 따라서 데이터베이스의 복구 모델을 확인하여 단순모델일 경우 '전체'나 '차등'으로 변경해야 합니다. 데이터베이스 복구 모델을 확인하기 위해서는 데이터베이스에 마우스 우클릭하여 [태스크]-[백업]을 선택하며 백업창에서 확인할 수 있습니다. 이 창에서 백업 유형을 '트랜잭션 로그'로 선택하고 백업을 받을 위치를 지정합니다.

 

 

 처음 백업을 받는 경우에는 '새 미디어 세트에 백업하고 기존 백업 세트 모두 지우기'를 선택하고 아닐 경우 '기존 미디어 세트에 백업'을 선택합니다. 또한, '트랜잭션 로그 잘라내기'를 선택합니다.

 

 

 백업이 완료되면 트랜잭션 로그 파일의 용량은 기본 용량으로 줄어 듭니다.

 

 

※ 로그 파일의 백업이 필요없는 경우 복구 모델을 '전체'로 변경하고 백업할 위치 값에 'NUL:'를 주거나 다음과 같은 쿼리문을 실행 시키면 됩니다.