0

我们的事务日志 (2008 R2) 增长非常快(尽管有完整备份)存在问题。在 SQL 分析器中,我运行跟踪捕获所有带有行数的插入、删除和更新语句,它们都非常低。

服务器上运行的许多应用程序都使用 SP 并且 Rowcount 设置为关闭,所以我看不到哪些正在执行大量更新、插入、删除操作(我知道有几个,但是有数百个 SP,很多其中是第 3 方应用程序的一部分)。追踪这些的最佳方法是什么?

我意识到除了插入、更新、删除之外还有其他问题可能导致日志增长或不被截断,但我想排除这些问题(如果可以的话)

有什么建议么?

TIA

标记

4

2 回答 2

0

是的,就像remu提到的那样,大声笑。完整备份不会清除您的 tlog。您需要进行 tlog 备份以减小 tlog 的大小。

首先,您多久备份一次 tlog?或者你甚至支持他们吗?控制 tlog 大小的唯一方法是确保 tlog 处于简单恢复模式(不建议这样做,您无法将数据库恢复到某个时间点,以防发生灾难)

或者

作为维护的一部分,定期备份 tlog 并保持它们整洁。仍然有时应用程序会偶尔执行大量事务,这会使 tlog 增长到较大的大小,但这就是为什么拥有某种维护工作很重要,一旦达到 80% 或 85% 就会支持 tlog当前大小的。

于 2013-10-21T21:02:18.433 回答
0

事务日志 (2008 R2) 增长非常快(尽管有完整备份)

那是因为完整备份不会截断日志。只有 LOG 备份会截断日志。这被称为神话 30-05

30-05)完整或差异备份清除日志

不。日志备份包括自上次日志备份以来的所有日志——没有什么可以改变的——无论该日志是否也由完整备份或差异备份备份。去年我在 Twitter 上有一个著名的论点,并写了这篇博文作为证据:围绕日志和日志备份的误解:如何说服自己。在 FULL 或 BULK_LOGGED 恢复模型中,唯一清除日志的是日志备份。

您需要先查看通常的地方来调查日志增长:log_reuse_wait.

于 2013-10-21T18:56:33.130 回答