Laboratory/MSSQL

트랜잭션 로그로 인하여 디스크 풀난 경우 로그 지우기

theking 2008. 2. 1. 05:34

 데이터베이스의 로그 파일이 꽉 찼습니다. 데이터베이스의 트랜잭션 로그를 백업하여 사용 가능한 일부 공간을 확보 하십시오.."

 

위와 같은 메세지가 나오면 디비는 물론 사이트도 열리지 않습니다.

 

할당된 트랜잭션로그 파일이 꽉차서 더이상 로그를 기록하지 못하는 경우 입니다. 그렇다고 로그파일의 크기를 너무 크게 잡거나, 자동증가토록 한후 백업을 받지 않으면, 로그파일이 수백메가 이상 커지게 됩니다.

그러면 서버가 힘들어 하겠지요..

 

트랜잭션 로그는 다음과 같이 삭제할 수 있습니다.

1. MS-SQL의 클라이언트 유틸리티 중 쿼리 분석기를 실행합니다.
2. 쿼리 분석기에서 해당 DB로 연결합니다.
3. 쿼리 창이 나타나면 다음 사항을 입력합니다.

backup log DB명 with no_log
dbcc shrinkdatabase(DB명, truncateonly)

4. 입력이 끝나면 쿼리 분석기의 상단부분 매뉴 중 [쿼리]-[실행]을 눌러 실행합니다.


로그를 비우는 명령 :backup log db_name with no_log

로그 사이즈 축소     :

use user_db

sp_helpfile 를 실행 하여 log_name 파악

dbcc shrinkfile('logname',target size)

 

예)

backup log igroo_db with no_log

dbcc shrinkfile('IGROO_DB_Log',1)
 

즉, 강제로 트랜잭션 로그 지우기


이전글 :마스터 파일이 손상되었을 때 마지막 트랜잭션 로그를 백업하는 방법
다음글 :SQL Server 트랜잭션 로그가 가득 차는 원인과 해결방법