'로그'에 해당되는 글 2건

  1. 2010.06.01 tempdb 로그 삭제
  2. 2008.06.05 sql 로그 용량 줄이기
컴퓨터/MS-SQL2010. 6. 1. 19:44


"오류: 9002, 심각도: 17, 상태: 6
'tempdb' 데이터베이스의 로그 파일이 꽉 찼습니다. 데이터베이스의 트랜잭션 로그를 백업하여 사용 가능한 일부 로그 공간을 확보하십시오. "


backup log tempdb with no_log
혹은
backup log tempdb with truncate_only

Posted by biondi
컴퓨터/MS-SQL2008. 6. 5. 16:27

n       트랜잭션 로그 파일 축소하기

DBCC SHRINKDATABASE DBCC SHRINKFILE에서 사용할 있는 TRUNCATE 옵션은 데이터 파일에만 적용되며 로그 파일에 대해서는 적용되지 않습니다. 명령어를 수행한다고 해서 무조건 바로 로그가 삭제되는 것은 아닙니다. 로그 파일은 즉시 크기가 줄어들지 않으며 트랜잭션 로그를 백업하거나 삭제할 크기가 줄어듭니다. 트랜잭션 로그 파일의 크기 축소는 가상 로그 파일의 크기 단위로 이루어집니다. 로그 파일의 공간이 부족하여 빈번하게 자동 증가가 발생하면, 로그가 많은 수의 가상 로그 파일들로 조각화되어 데이터베이스 시작 뿐 아니라 로그 백업 복원 작업이 느려질 있습니다. 가상 로그 파일의 수가 지나치게 많아진 경우에는 가상 로그 파일을 제거하고, 트랜잭션 로그 파일을 적절한 크기로 변경하는 것을 권고합니다.


[따라하기] 가상 로그 파일 개수를 줄이고 로그 파일 크기 축소하기


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

1.       가상 로그 파일의 개수를 확인합니다. 결과 행의 수가 가상 로그 파일의 수입니다.

USE Sample;

GO

DBCC LOGINFO;

GO

 

2.       트랜잭션 로그 백업을 수행합니다. 로그 백업을 받을 없는 경우에는 로그를 잘라냅니다. 로그를 잘라낸다고 해서 실제 로그 파일의 크기가 줄어들지는 않습니다. 그러나 로그를 잘라내면 논리 로그의 크기가 줄어들고 논리 로그 부분을 포함하지 않는 가상 로그가 비활성으로 표시합니다. 로그 축소 작업이 수행되면 요청된 크기만큼 로그 파일이 충분히 축소될 있도록 비활성 가상 로그를 제거하게 되므로, 사전에 로그를 백업하거나 잘라내는 것이 좋습니다.

 

BACKUP LOG Sample TO DISK='D:\DBBackup\Sample_Log.bak';

GO

-- 또는

BACKUP LOG Sample WITH NO_LOG;

GO

 

3.       트랜잭션 로그 파일의 크기를 가능한 작은 크기로 축소합니다.

DBCC SHRINKFILE (Sample_log, TRUNCATEONLY);

GO

 

4.       로그 파일의 크기를 적절한 크기로 변경합니다.

ALTER DATABASE Sample

MODIFY FILE

    ( NAME = 'Sample_log'

    , SIZE = 30MB);

GO

Posted by biondi