【问题标题】:Why is my SQL Server 2005 transaction log not growing/updating?为什么我的 SQL Server 2005 事务日志没有增长/更新?
【发布时间】:2009-08-03 14:58:05
【问题描述】:

我有一个 SQL Server 2005 数据库,其中事务日志在一周内没有更新。由于用完所有可用磁盘空间的情况,事务日志最近被截断。我在同一台服务器上有一个测试数据库,该数据库按预期每天都在增长。这可能是什么原因?

【问题讨论】:

    标签: sql-server-2005 transaction-log


    【解决方案1】:

    除非您没有更改数据库中的数据,否则我怀疑它是否真的“不更新”。请注意,MDF/LDF 上的修改日期通常不会更改,但这并不意味着文件中的数据不会更改。可能是您的数据库处于“简单”恢复模式,因此日志正在工作但没有增长。

    【讨论】:

    • 我们正在运行完整备份,我知道数据会不断变化。由于最近我们遇到事务日志快速增长的问题,我正在尝试跟踪日志增长,这样我就可以避免未来的问题。有没有更好的方法来跟踪日志增长?
    • 你能检查我的理解吗?由于日志中可用空间的百分比,我没有看到文件大小增加的原因是什么?例如,如果我的日志为 500 MB,使用了 50% 的日志空间,我不应该期望看到日志文件增长,除非使用的日志空间百分比达到 100%。
    • 检查数据库的恢复模式——如果是“简单”,那么日志的工作方式是这样的:对于每个事务,在事务运行时会使用一些日志;一旦事务被提交,那么日志的那部分就会被释放,并且可以在以后被新的日志数据覆盖。因此,如果您有 500mb 的日志和合理的事务,它永远不会填满,因此永远不会增长。唯一会使其增长的是一个运行时间很长的事务,其中“旧”日志记录永远不会被丢弃。
    • 如果您的恢复模式为“Full”或“Bulk Logged”,那么日志持续增长,并且除非/直到您执行事务,否则旧的日志记录不会被释放日志备份,将释放的日志记录复制到备份文件,然后释放空间。完全恢复始终需要计划的事务日志备份。
    猜你喜欢
    • 2017-11-15
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 2010-11-14
    相关资源
    最近更新 更多