管理事务日志文件的大小

在某些情况下,更改物理日志文件的大小可能会非常有用。

监视日志空间使用情况

可以使用 DBCC SQLPERF (LOGSPACE) 监视日志空间使用情况。此命令返回有关当前使用的日志空间量的信息,并指示何时需要截断事务日志。有关详细信息,请参阅 DBCC SQLPERF (Transact-SQL)。若要了解有关日志文件的当前大小、最大大小以及此文件的自动增长选项的信息,还可以在 sys.database_files 中针对此日志文件使用 sizemax_sizegrowth 等列。有关详细信息,请参阅 sys.database_files (Transact-SQL)

ms365418.note(zh-cn,SQL.90).gif重要提示:
建议避免日志磁盘重载。

收缩日志文件的大小

日志截断非常重要,因为它可释放磁盘空间以供重新使用,但它不会减小物理日志文件的大小。若要减小日志文件的物理大小,必须收缩此文件以删除一个或多个不包含任何逻辑日志部分的虚拟日志文件(即“不活动的虚拟日志文件**”)。在收缩事务日志文件时,将从日志文件的末端删除足够的不活动虚拟日志文件,以便将日志减小到接近目标大小。有关详细信息,请参阅收缩事务日志

ms365418.note(zh-cn,SQL.90).gif注意:
能够延长虚拟日志文件活动时间的因素(如长时间运行的事务)可以限制甚至阻止日志收缩。有关详细信息,请参阅导致日志截断延迟的因素

有关详细信息,请参阅收缩事务日志

添加或扩大日志文件

可以通过扩大现有的日志文件(如果磁盘空间允许)或将日志文件添加至数据库(尤其是其他磁盘上的数据库)来获得空间。

  • 若要将日志文件添加至数据库,请使用 ALTER DATABASE 语句的 ADD LOG FILE 子句。添加日志文件可以使日志获得空间。有关添加文件的信息,请参阅添加和删除数据文件和事务日志文件
  • 若要扩大日志文件,请使用 ALTER DATABASE 语句的 MODIFY FILE 子句,并指定 SIZE 和 MAXSIZE 语法。有关详细信息,请参阅 ALTER DATABASE (Transact-SQL)

优化 tempdb 事务日志的大小

重新启动服务器实例可以将 tempdb 数据库的事务日志调整到在自动增长之前的原始大小。这会降低 tempdb 事务日志的性能。您可以通过在启动或重新启动服务器实例之后增加 tempdb 事务日志的大小来避免此开销。有关详细信息,请参阅 tempdb 数据库优化 tempdb 性能

请参阅

概念

事务日志截断
事务日志物理体系结构
解决事务日志已满的问题(错误 9002)

帮助和信息

获取 SQL Server 2005 帮助