2016-08-06 4 views
0

전체 복구에 데이터베이스가있는 테이블에 2m 레코드를 추가하려고하지만 로그 파일 크기가 데이터베이스가 생성 될 때 할당 된 기본값보다 증가하지 않습니다. 가능한 이유는 무엇입니까? 두 가지의로그 파일 크기가 증가하지 않습니다

+0

어떻게 당신이이 2m 행을 추가? 이미 로그 파일 크기는 무엇입니까? 얼마나 자주 트랜잭션 로그백이 수행되고 있습니까? –

+0

로그 크기는 처음에는 1MB 였고 여전히 1MB를 표시했습니다. 또한 트랜잭션 로그 백업 작업이 실행되고 있지 않습니다. – user1929135

답변

0

하나는 (아마도 모두) 무슨 일이 일어나고 :

  1. 로그 파일이 이미 당신이 그것을에두고있는 활동에 대한 충분한 할 수있는 크기로되어있다.

  2. 정기적 인 트랜잭션 로그 백업이 실행 중입니다.

0

트랜잭션이 있었기 때문에 로그 크기가 증가하지 않습니다. 현재 로그 파일에 트랜잭션을위한 충분한 여유 공간이 없기 때문에 증가합니다.

즉, 2 백만 행 트랜잭션이 충분하고 백업 스케줄을 사용하면 실제 로그 파일 크기를 늘릴 필요가 없습니다.

왜 이런 현상이 발생 했나요? 로그 백업을 수행하면 로그가 잘립니다. 그렇다고해서 로그 파일이 축소되는 것은 아닙니다. 오히려 실제 크기가 변경되지 않은 채로 사용되지 않은 공간은 향후 트랜잭션을 위해 해제됩니다. 이것은 과도하고 반복적 인 증가가 불필요하게 시스템 자원을 차지하기 때문에 유용합니다. 즉, 로그 파일이 500MB라고하면 데이터베이스가 일반적으로 필요로하는 공간의 크기 일 가능성이 큽니다. 따라서 1MB로 축소하면 500MB로 빠르게 증가하여 성능에 부정적인 영향을 줄 수 있습니다.

이 작업을 보려면 관심있는 데이터베이스에서 DBCC SQLPERF(Logspace)을 실행하여 로그 파일 정보를 관찰하십시오. INSERT 및 BACKUP LOG가 번호를 변경합니다.

추가 읽기 :

Log Truncation

Log Size Management

관련 문제