我们的事务日志(2008 R2)增长非常快(尽管进行了完整备份),但我们遇到了问题。在SQL profiler中,我运行了一个跟踪来捕获所有包含rowcount的Insert、Delete和Update语句,它们都非常低。
在服务器上运行的许多应用程序都使用SP,Rowcount设置为off,所以我看不出哪些应用程序正在进行大量的更新、插入和删除操作(我知道有几个,但有数百个SP,其中许多是第三方应用程序的一部分)。追踪这些问题的最好方法是什么?
我意识到除了Insert、Update、Delete之外,还有其他问题会导致日志增长或不被截断,但我想排除这些问题(如果可以)
有什么建议吗?
提亚
标记
发布于 2013-10-22 02:56:33
事务日志(2008 R2)增长非常快(尽管进行了完整备份)
这是因为完整备份不会截断日志,而不会截断()日志。只有日志备份才会截断日志。这就是所谓的Myth 30-05
30-05)完整或差异备份将清除日志
不是的。日志备份包括自上次日志备份以来的所有日志,无论该日志是由完整备份还是差异备份备份的,都无法改变这一点。去年我在推特上有过一次著名的争论,我写了这篇博文作为证据:Misconceptions around the log and log backups: how to convince yourself。在完整或BULK_LOGGED恢复模式中,清除日志的唯一方法是日志备份。
您需要首先查看通常用来研究日志增长的地方:log_reuse_wait。
发布于 2013-10-22 05:02:18
是的,就像热木提到的,哈哈。完全备份不会清除您的tlog。您需要备份tlog以减小tlog的大小。
首先,你多长时间备份一次tlog?或者你会支持他们吗?控制tlog大小的唯一方法是确保tlog处于简单恢复模式(不建议这样做,因为如果发生灾难,您无法将数据库恢复到某个时间点)
或
作为维护的一部分,定期备份tlog并保持其整洁。有时,应用程序偶尔会进行大量事务,这会使tlog增长到较大的大小,但这就是为什么当tlog达到当前大小的80%或85%时,使用某种维护作业来支持tlog是很重要的。
https://stackoverflow.com/questions/19502273
复制相似问题