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日志和数据库增长.

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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...