다음을 통해 공유


트랜잭션 로그 파일의 크기 관리

경우에 따라 SQL Server 데이터베이스의 트랜잭션 로그의 물리적 로그 파일을 물리적으로 축소하거나 확장하는 것이 유용할 수 있습니다. 이 항목에는 SQL Server 트랜잭션 로그의 크기를 모니터링하고, 트랜잭션 로그를 축소하고, 트랜잭션 로그 파일을 추가 또는 확대하고, tempdb 트랜잭션 로그 증가율을 최적화하고, 트랜잭션 로그 파일의 증가를 제어하는 방법에 대한 정보가 포함되어 있습니다.

로그 공간 사용 모니터링

DBCC SQLPERF(LOGSPACE)를 사용하여 로그 공간 사용을 모니터링할 수 있습니다. 이 명령은 현재 사용되는 로그 공간의 양에 대한 정보를 반환하고 트랜잭션 로그에 잘림이 필요한 시기를 나타냅니다. 자세한 내용은 DBCC SQLPERF(Transact-SQL)를 참조하세요. 로그 파일의 현재 크기, 최대 크기 및 파일의 자동 증가 옵션에 대한 자세한 내용은 sys.database_files 해당 로그 파일에 대한 크기, max_size증가 열을 사용할 수도 있습니다. 자세한 내용은 sys.database_files (Transact-SQL)를 참조하세요.

중요합니다

로그 디스크를 오버로드하지 않는 것이 좋습니다.

로그 파일의 크기 축소

실제 로그 파일의 크기를 줄이려면 로그 파일을 축소해야 합니다. 이 기능은 트랜잭션 로그 파일에 필요하지 않은 사용되지 않는 공간이 포함되어 있다는 것을 알고 있는 경우에 유용합니다. 로그 파일 축소는 데이터베이스가 온라인인 경우에만 발생할 수 있으며 하나 이상의 가상 로그 파일도 무료입니다. 경우에 따라 다음 로그 잘림 이후까지 로그 축소가 불가능할 수 있습니다.

비고

가상 로그 파일을 장기간 활성 상태로 유지하는 장기 실행 트랜잭션과 같은 요인은 로그 축소를 제한하거나 로그가 전혀 축소되지 않도록 방지할 수 있습니다. 로그 잘림을 지연할 수 있는 요인에 대한 자세한 내용은 트랜잭션 로그(SQL Server)를 참조하세요.

로그 파일을 축소하면 논리 로그의 일부(즉, 비활성 가상 로그 파일)를 포함하지 않는 하나 이상의 가상 로그 파일이 제거됩니다. 트랜잭션 로그 파일이 축소되면 로그 파일의 끝에서 비활성 가상 로그 파일이 제거되어 로그를 대략 대상 크기로 줄일 수 있습니다.

로그 파일을 축소하려면(데이터베이스 파일을 축소하지 않고)

로그 파일 축소 이벤트를 모니터링하려면

To monitor log space

비고

데이터베이스 및 로그 파일 축소는 자동으로 수행되도록 설정할 수 있습니다. 그러나 자동 축소를 사용하지 않는 것이 좋으며, autoshrink 데이터베이스 속성은 기본적으로 FALSE로 설정됩니다. TRUE로 설정된 경우 autoshrink 자동 축소는 해당 공간의 25% 이상을 사용하지 않는 경우에만 파일 크기를 줄입니다. 파일은 파일의 25%만 사용되지 않을 때의 크기 또는 파일의 원래 크기 중 더 큰 크기로 축소됩니다. 속성 설정을 autoshrink 변경하는 방법에 대한 자세한 내용은 [옵션] 페이지 또는 ALTER DATABASE SET 옵션(Transact-SQL)에서 데이터베이스 사용 자동 축소 속성 보기 또는 변경(AUTO_SHRINK 옵션 사용)을 참조하세요.

로그 파일 추가 또는 확대

또는 기존 로그 파일을 확대하거나(디스크 공간이 허용되는 경우) 일반적으로 다른 디스크의 데이터베이스에 로그 파일을 추가하여 공간을 확보할 수 있습니다.

  • 데이터베이스에 로그 파일을 추가하려면 ALTER DATABASE 문의 ADD LOG FILE 절을 사용합니다. 로그 파일을 추가하면 로그가 증가할 수 있습니다.

  • 로그 파일의 크기를 늘리려면 ALTER DATABASE 문의 MODIFY FILE 절을 사용하여 SIZE 및 MAXSIZE 구문을 지정합니다. 자세한 내용은 ALTER DATABASE(Transact-SQL)를 참조하세요.

tempdb 트랜잭션 로그의 크기 최적화

서버 인스턴스를 다시 시작하면 tempdb 데이터베이스의 트랜잭션 로그 크기가 원래 자동 증가 전 크기로 조정됩니다. 이렇게 하면 tempdb 트랜잭션 로그의 성능이 저하될 수 있습니다. 서버 인스턴스를 시작하거나 다시 시작한 후 tempdb 트랜잭션 로그의 크기를 늘려 이 오버헤드를 방지할 수 있습니다. 자세한 내용은 tempdb 데이터베이스를 참조하세요.

트랜잭션 로그 파일의 증가 제어

ALTER DATABASE(Transact-SQL) 문을 사용하여 트랜잭션 로그 파일의 증가를 관리할 수 있습니다. 다음 사항에 유의하세요.

  • 현재 파일 크기를 KB, MB, GB 및 TB 단위로 변경하려면 SIZE 옵션을 사용합니다.

  • 증가 증분을 변경하려면 FILEGROWTH 옵션을 사용합니다. 값 0은 자동 증가를 사용하지 않고 추가 공간을 허용하지 않음을 나타냅니다. 로그 파일의 작은 자동 증가 증가는 성능을 저하시킬 수 있습니다. 로그 파일의 파일 증가분이 충분히 커야 자주 확장하는 번거로움을 피할 수 있습니다. 10%의 기본 증가는 일반적으로 적합합니다.

    로그 파일의 파일 증가 속성을 변경하는 방법에 대한 자세한 내용은 ALTER DATABASE(Transact-SQL)를 참조하세요.

  • 로그 파일의 최대 크기를 KB, MB, GB 및 TB 단위로 제어하거나 증가를 UNLIMITED로 설정하려면 MAXSIZE 옵션을 사용합니다.

또한 참조하십시오

BACKUP(Transact-SQL)
트랜잭션 로그 공간 부족 문제 해결(SQL Server 오류 9002)