对于一家我一直帮助解决其数据库故障的公司。
在SQL Server 2000中,数据库大约为120GB。
某些原因导致事务日志增长到 100 GB 以上,超出正常水平,一些事务挂起,几天内未提交或回滚。这个问题已解决,由于每小时进行一次事务日志备份,现在已满 1% 左右或更少。
据我了解,不断增长的事务日志文件大小可能会导致性能问题。
但我有点担心的是大小。虽然主要是空的,但它可能会对性能产生负面影响吗?但我没有找到任何文档表明这是真的。
我确实找到了这个链接:http://www.bigresource.com/MS_SQL-Large-Transaction-Log-dramatically-Slows-down-processing-any-idea-why--2ahzP5wK.html但在这篇文章中,我无法判断他们的日志是满的还是空的,并且此链接中没有任何对该帖子的回复。
所以我猜这不是一个问题,有人知道吗?
答案1
答案2
备份时,SQL Server 将截断日志文件并创建初始日志文件。就您的情况而言,似乎应该大幅减少日志文件。尝试确定在备份窗口之间写入日志的数据量,然后可能将数据量增加一倍或三倍。将其设置为初始日志文件大小。这将有助于防止碎片性能问题。
如果平均事务大小为 2MB,而日志文件以 1MB 为增量增大,对性能的影响将非常大。每天两次增大 400MB 可能不会对性能产生明显影响。
我强烈建议你读一下文章的数据和日志文件管理部分。它将帮助您针对问题做出更明智的决定。