【发布时间】:2018-02-22 13:51:17
【问题描述】:
我有一个日志文件大小为 700 MB 的数据库。现在我已将其最大文件大小固定为 1 GB。 当达到 1 GB 时,事务失败,同样的原因是“数据库的事务日志已满。要找出日志中的空间无法重用的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列”
如果我取消选中日志文件的自动增长,情况也是如此。
当我检查 sys.databases 中的 log_reuse_wait_desc 列时,它显示“Active_Transaction”。
我不明白为什么 Sql server 没有保持最大文件大小限制。为什么它不能删除旧日志或类似的东西来保持最大文件大小。 它是如何工作的。
我想要的是将日志文件大小限制在任何情况下都不超过 1 GB。
【问题讨论】:
-
然后阅读simple and full recovery models 之间的区别,并进行日志备份。如果您的恢复模型已经很简单和/或您已经在进行日志备份并且它仍然不会缩小,那么您遇到了一个更有趣的问题。
-
感谢您的信息。我的数据库是完全恢复模式。如果设置了文件大小,我无法理解为什么 sql 不删除旧日志。
标签: sql-server