我的 2005sql server 有时不响应查询,当我检查事件时,我得到以下事件:数据库中文件“databasename_log”的自动增长被用户取消或 30125 毫秒后超时。使用 alter database 为文件设置较小的文件增长值或明确设置新文件大小。目前为了解决这个问题,我必须重新启动 sqlserver,我检查了 sqlserver _log 文件,自动增长没有被禁用,大小为 10% 我应该如何解决这个问题?
答案1
您需要摆脱日志文件中 10% 的自动增长,并对数据库文件的状况进行一些分析。
<rant>
微软应该摆脱那个愚蠢的默认 10% 自动增长设置。</rant>
随着时间的推移,随着日志文件不断增长,特别是对于处于完整恢复模式的数据库,当没有进行定期备份时,自动增长尝试分配的存储量将越来越大。
将自动增长设置为固定量(您需要根据文件大小确定该量),而不是百分比。注意不要将其设置为 I/O 无法在合理时间内分配的巨大量。
有关调整自动增长设置的更多信息,请阅读以下内容:
答案2
我建议将日志文件增大一些,这样文件在查询过程中就不需要增大,从而节省大量时间并大大提高性能。我建议你对数据库文件也这样做。