微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server-2005 – 我的templog.ldf很大(45gb),如果我该怎么办?

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

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

到目前为止,我跑了
DBCC OPENTRAN(‘tempdb’)
看看是否有旧的交易闲置,他们不是.我已经读过如何缩小tempdb并且已经完成了几次,但我真的很想知道如果我能做些什么来阻止这种情况发生,或者更多细节为什么它可能会增长如此之多第一名.

== == EDITS

1)tempdb使用简单的恢复模型

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

解决方法

检查您的报告查询.你有没有disTINCT吗?他们中的任何人都有笛卡儿联合吗?

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐