对于我一直在帮助解决他们的数据库的公司。
在SQL Server 2000中,数据库大概是120G。
有些事情导致事务日志比正常情况下增长了100多倍,一些挂起的事务没有提交或回滚几天。 由于每小时事务日志备份,这个问题已经解决,现在保持在1%左右。
我的理解是,增长的事务日志文件大小会导致性能问题。
但是我有点偏执的是规模。 虽然主要是空的,但是对性能有负面影响吗? 但我还没有发现任何文件表明这是真的。
我没有find这个链接: http : //www.bigresource.com/MS_SQL-Large-Transaction-Log-dramatically-Slows-down-processing-any-idea-why–2ahzP5wK.html但在这篇文章中,我不能告诉他们的日志是满的还是空的,这个链接里没有任何回复。
所以我猜这不是问题,有人知道吗?
你可能会发现,因为自动增长已经打开,tlog已经发展到如此庞大的规模,你将拥有大量的虚拟日志文件 。 这意味着事务日志本身是分散的,这不是一件好事。
以下是关于如何检查数据库有多less个vlog文件的信息。
这里有一个关于为什么很多虚拟日志文件不好的博客 ,你需要做些什么。
备份时,SQL Server将截断日志文件并创build一个初始日志文件。 在你的情况下,这听起来像你应该大大减less你的日志文件。 尝试确定您的备份窗口之间有多less数据写入日志,然后可能增加一倍或三倍。 将其设置为您的初始日志文件大小。 这将有助于防止碎片性能问题。
当您的平均交易为2MB时,将日志文件增加1MB会对性能造成很大的影响。 每天增长400MB两次,可能不会在性能上有明显的差别。
我强烈build议阅读本文关于数据和日志文件pipe理的部分。 它会帮助你做出更好的教育决定你的问题。