SQL Server Tempdb LOG文件越来越多

时间:2009-09-03 12:17:48

标签: sql-server-2000 size transaction-log tempdb

在SQL Server 2000系统上,我有一个似乎无限制增长的templog.ldf文件!但是当我检查时,tempdb中没有任何打开的事务(使用DBCC OPENTRAN),也没有在tempdb中使用显式事务。

但是,我确实在我的存储过程中使用临时表。谁知道ASP.NET数据访问对象可能在幕后做什么?数据库支持ASP.NET网站。

无论如何,tempdb.mdf文件 - tempdb数据文件 - 是一个非常合理的700 MB。 templog.ldf文件一天可以增长到30 GB!如果我没有耗尽磁盘空间,可能会更多。我没有明确地删除存储过程中的#tables,但同样,mdf文件似乎永远不会变得非常大。

为什么没有未完成的交易时事务日志会增长?事务日志是否会回收空间?此外,DUMP TRAN WITH NO_LOG不会缩小文件,也不会通过trunc收集CHECKPOINT事件。在tempdb上启用了登录chkpt。停止SQL Server会清除tempdb(可能是DBCC SHRINKFILE,但我还没有这样做)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

阅读这些:

截断交易记录
注意:日志截断总是发生在tempdb中的检查点上。 http://technet.microsoft.com/en-us/library/aa174538(SQL.80).aspx

优化tempdb性能
http://technet.microsoft.com/en-us/library/aa178421(SQL.80).aspx

我的templog.ldf很大(45gb),如果我该怎么办? https://serverfault.com/questions/61479/my-templog-ldf-is-huge-45gb-what-if-anything-should-i-do