【问题标题】:SQL Server 2008 log file size is large and growing quicklySQL Server 2008 日志文件很大并且增长很快
【发布时间】:2011-03-17 03:38:45
【问题描述】:

大多数时候用户会访问数据库来阅读新闻。在事务下执行的查询数量很少。 95% 的数据库命中将用于只读目的。

我的数据库日志文件大小每天增长 1 GB。即使我缩小数据库,日志文件的大小也不会减少。越来越多的日志文件大小可能是什么原因?我该如何控制这个?根据我的知识,当我们从表中读取数据时,日志文件不会增加。

关于如何处理日志文件增长的任何建议?如何将其保持在可管理或合理的大小?这会以任何方式影响性能吗?

【问题讨论】:

标签: sql-server transaction-log


【解决方案1】:

日志文件大的主要原因是数据库中的批量事务。要减小日志文件大小,最好的选择是在一定时间间隔后进行事务日志备份。

【讨论】:

    【解决方案2】:

    完整备份无济于事,您必须定期备份事务日志(以及常规数据库完整备份和差异备份)才能清空它。如果您没有备份日志并且您不是处于简单恢复模式,那么您的事务日志中包含自数据库设置以来的所有事务。如果您有足够的操作以使您每天增长一个演出,那么您可能还会有大量导入或更新同时影响许多记录。您可能需要处于不单独记录事务的简单恢复模式。但是,如果您有来自导入和用户的混合数据,请不要这样做。在这种情况下,您需要经常备份事务日志,以便能够将大小保持在可管理的时间点上。我们每 15 分钟备份一次事务日志。

    阅读 BOL 中的事务日志备份,了解如何解决您现在遇到的问题。然后让您的备份设置并正常运行。在尝试修复之前,您需要彻底阅读并理解这些内容。现在,如果您的服务器出现故障并且您必须恢复数据库,您可能会受到伤害。事务日志备份对于能够从故障中正确恢复至关重要。

    【讨论】:

      【解决方案3】:

      有几件事需要考虑。您执行什么类型的备份,以及您需要什么类型的备份。如果您有这个问题的答案,您可以将恢复模式切换为简单模式或保持完整模式,但您需要每天进行增量备份(或任何让您对日志大小感到满意的方式)。

      将您的数据库日志设置为简单(但前提是您对数据库进行完整备份!)。

      1. 右键单击您的数据库
      2. 选择属性
      3. 选择选项
      4. 将恢复模式设置为简单

      如果您的备份计划是每天完全备份,这将是最好的。因为在这种情况下,您的日志不会被修剪,并且会飙升(就像您的情况一样)。

      如果您将使用 Grandfather&Father&Son 备份技术,这意味着 每月完整备份每周完整备份,然后是每 天增量备份。然后,您需要 完全恢复模式。如果每天 1GB 的日志仍然太多,您可以启用每小时或每 15 分钟的增量备份。这应该可以解决日志越来越多的问题。

      如果您每天都运行完整备份,则可以将其切换到简单恢复模式,并且您应该没问题而不会给您的数据带来风险(如果您离开时可能会丢失 1 天的数据)。如果您打算使用增量,请将其保留在 Recovery Mode Full

      【讨论】:

        【解决方案4】:

        您是否经常备份数据库?您需要执行完整和/或事务日志备份,以便 SQL Server 考虑缩小您的日志文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多