大多数时候,用户会点击数据库来阅读新闻。在事务下执行的查询数量非常少。 95%的数据库命中数用于只读目的。
我的数据库日志文件大小每天增长1 GB。即使我缩小数据库,日志文件大小也不会减少。可能是什么原因导致日志文件越来越大?我该怎么控制呢?根据我的知识,当我们从表中读取数据时,日志文件不会增加。
有关如何处理日志文件增长的任何建议?如何保持可管理或合理的规模?这会以任何方式影响性能吗?
答案 0 :(得分:2)
有几件事需要考虑。您执行的备份类型以及所需的备份类型。如果您有这个问题的答案,您可以将恢复模式切换为简单或保持完整,但是您需要每天进行增量备份(或任何让您对日志大小感到满意的事情)。
将数据库日志记录设置为简单(但仅当您对数据库执行完全备份时!)。
如果您的备份时间表每天完全备份,这将最有效。因为在这种情况下,您的日志不会被修剪,它会飙升(就像你的情况一样)。
如果您将使用祖父和父亲和儿子备份技术,这意味着每月完整备份,每周完整备份,然后每天增量备份< / strong>即可。然后,您需要完全恢复模式。如果每天1GB的日志仍然太多,则可以每小时或每15分钟启用增量备份。这应该可以解决日志越来越多的问题。
如果您每天运行完全备份,您可以将其切换到简单恢复模式,您应该没有风险而不会冒数据(如果您可能丢失可能的1天数据)。如果您打算使用增量值,请将其保留在完全恢复模式。
答案 1 :(得分:1)
完全备份无济于事,您必须定期备份事务日志(以及常规数据库完整备份和差异备份)以使其清空。如果您没有备份日志而您没有处于简单恢复模式,那么自设置数据库以来,您的事务日志中包含其中的每个事务。如果你有足够的动作让你每天都在增长,那么你也可能同时拥有影响许多记录的大量导入或更新。您可能需要处于不单独记录事务的简单恢复模式。但是,如果您有来自导入和用户的混合数据,请不要这样做。在这种情况下,您需要经常备份事务日志,以便能够将大小保持在可管理的状态并保持在某个时间点。我们每15分钟备份一次事务日志。
了解BOL中的事务日志备份,了解如何解决您现在遇到的问题。然后设置并正确运行备份。在尝试修复之前,您需要彻底阅读并理解这些内容。现在,如果您的服务器出现故障并且您必须恢复数据库,那么您可能会受到伤害。事务日志备份对于能够从故障中正确恢复至关重要。
答案 2 :(得分:0)
您经常备份数据库吗?您需要执行完整和/或事务日志备份,以便SQL Server考虑缩小您的日志文件。
答案 3 :(得分:0)
日志文件较大的主要原因是由于DB中的批量事务。减少日志文件大小最佳选项,以便在一定时间间隔后执行事务日志备份。