我的 templog.ldf 很大 (45gb),如果我应该怎么做呢?

Rob*_*bin 8 tempdb transaction-log sql-server-2005

我安装了 SQL 2005 并且我的 templog.ldf 文件不断增长以消耗它所在驱动器上的所有可用空间。有时它会在有几 mb 免费时停止,但有时它会更进一步,这是 c 驱动器,我认为这种行为可能与我看到的其他一些问题有关。

我的问题是,我应该怎么做,我可以将日志移动到另一个驱动器,但我有理由假设它不会在那里做同样的事情。我假设这种行为很可能是我可以更改的结果,并且对于 tempdb 日志来说,45gb 是一个不寻常的大小。我们在代码中确实使用了很多临时表和表值函数,因此有足够的空间使用 tempdb,我可以理解 tempdb 数据库的增长,但不了解 templog 增长的原因。

到目前为止,我已经运行 DBCC OPENTRAN('tempdb') 来查看是否有任何旧事务存在,它们没有。我已经阅读了有关如何缩小 tempdb 的内容,并且已经这样做了几次,但我真的很想知道我能做些什么来首先阻止这种情况的发生,或者更多关于为什么它可能会增长如此之多的详细信息第一名。

==编辑==

1) tempdb 使用简单恢复模式

2)临时日志的增长发生在早上几个小时,当时我们有一些预定的查询正在运行,基本上是大量报告,这些报告在前一天的办公时间用完。文件的大小在这段时间内稳步增长。我们控制同时运行的并发报告数量,增加并发报告的数量会增加日志增长的速度。

mrd*_*nny 3

检查您的报告查询。你有哪些有特色的东西吗?它们中是否有笛卡尔连接?

是否有任何报告查询作为联接成员访问链接服务器?如果是这样,这可能会导致 tempdb 日志和数据库增长。

当早上运行报告时,它们中的任何一个都会崩溃吗?