【问题标题】:How To Optimize Sql Server Database with Huge Log File如何使用庞大的日志文件优化 Sql Server 数据库
【发布时间】:2013-01-23 15:18:44
【问题描述】:

我有一个大小为 1677.25 MB 的 sql server 数据库。这是我的详细数据库大小信息:

数据库大小:1677.25 MB
未分配空间:343.09 MB

保留:24488 KB 数据:18560 KB 索引大小:2632 KB 未使用:3296 KB 行数:74410

所以,正如您所见,它并不是那么大的数据库。问题是,日志。

日志文件大小为:1.311 GB

如何清理旧日志?好吧,也许过去 3 个月很重要,但 1.3 GB 确实是一个重要的大小。

【问题讨论】:

  • 为什么你的日志文件这么大?您是否让数据库处于完全恢复模式但忘记安排定期日志备份?

标签: sql-server-2008 error-logging database-optimization


【解决方案1】:

首先您需要了解,为什么您的日志文件会这么大。您可以使用此查询:

SELECT name,log_reuse_wait_desc FROM sys.databases;

有关日志文件的用途以及如何解释此查询的结果的更多信息,您可以在此处找到:

http://sqlity.net/en/556/t-sql-tuesday-25-%E2%80%93-sql-server-tips-tricks/

最可能的原因是数据库处于“FULL”恢复模式。这意味着 SQL Server 会保留所有日志记录,直到您创建日志备份。进行完整备份不会改变这一点。

进行日志备份后,SQL Server 可以重用日志文件中的空间。此时,您还可以将日志文件缩小到更合适的大小。如果您不需要时间点恢复,您可以将数据库切换到简单恢复。这样,SQL Server 仅在需要它们进行事务处理时才保留日志记录。

但是,正如上面的文章所解释的,也可能有其他原因导致您的问题,例如忘记了复制设置。如果您需要这方面的进一步帮助,请发布上述查询的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多