【问题标题】:Transaction log growing despite regular transaction log backup尽管有定期事务日志备份,但事务日志仍在增长
【发布时间】:2015-02-04 14:40:25
【问题描述】:

恐怕我正面临一个流行的问题:我的事务日志在 SQL SERVER 上不断增长。但我在网上找不到答案。

我每天进行一次完整备份,每小时进行一次差异备份,每 15 分钟进行一次事务日志。他们工作得很好,但是那个 ldf 文件呢? 2-3个月达到100Go,我的数据库大约15Go。

我在周末执行一些维护任务:如果碎片低于 30%,则重建索引或重组。另外,我正在重新计算我的小型数据仓库(1500 万行)。每天晚上都有一些任务,但没什么大不了的。

但是,我不知道,为什么我的事务日志在日志备份后没有被截断?

当我查看LDF文件的使用情况时,我写这篇文章时只使用了1.7%。

有什么想法吗?

非常感谢。 顺便说一句,对不起我的英语不好......

编辑:我有 119 个 VLF 文件,没有人使用。

【问题讨论】:

    标签: sql-server backup transaction-log


    【解决方案1】:

    您需要定期缩减日志文件。看看您如何拥有包括FULLDIFFERENTIALTRANSACTION LOG 备份的备份策略,您最好让SQL 作业按计划运行以将相关日志文件压缩到最低限度。我运行一个存储过程。定期用收缩命令来

    DBCC SHRINKFILE 帮助您将日志文件缩小到设定的大小。

    DBCC SHRINKFILE (DBNAME_Log, 1); 例如会将其缩小到 1MB。

    【讨论】:

    • 感谢您的回复。正如我在下面所说,我认为缩小我的 LDF 是一种不好的做法,因为可能存在过多的碎片,你听说过吗?
    • 根据您最近的评论,我认为这一点可能无关紧要。当您计划部署数据库时,最好也考虑日志文件的增长。
    【解决方案2】:

    您可以使用 SQL Sever Studio。在选定的数据库上单击鼠标右键,然后单击 Reports > Disk Usage。您将看到(内部)使用数据库和事务日志文件。如果您了解维护任务(如索引重建)在事务日志中需要大量空间,那么缩小事务日志没有任何意义。经验法则 - 事务日志文件与最大的表一样大(报告 > 顶级表的磁盘使用情况

    【讨论】:

      【解决方案3】:

      截断不会减小物理日志文件的大小。减小日志文件的物理大小需要缩小文件。 大小增加,例如,由于在事务日志备份期间未删除的长时间运行的事务。

      问候 乔瓦

      【讨论】:

      • 感谢您的回复。嗯,好吧。我多次读到,由于可能存在过多的碎片,缩小 LDF 是一种不好的做法……那么,我应该这样做吗?
      • 不,如果您不需要更多可用空间,则不必这样做
      • 我有很多可用空间:) 但我的老板问数据库使用了多少空间(我猜想知道我们可以在一台服务器上放置多少数据库......)。
      猜你喜欢
      • 2010-12-25
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多