SQL Server Tempdb LOG 文件增长

Posted

技术标签:

【中文标题】SQL Server Tempdb LOG 文件增长【英文标题】:SQL Server Tempdb LOG file growing 【发布时间】:2010-11-25 06:37:19 【问题描述】:

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

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

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

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

感谢您的帮助!

【问题讨论】:

您可以尝试在serverfault.com 上提出同样的问题,我相信您会在那里得到更好的答案... 【参考方案1】:

阅读这些:

截断事务日志 注意:日志截断总是发生在 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

【讨论】:

以上是关于SQL Server Tempdb LOG 文件增长的主要内容,如果未能解决你的问题,请参考以下文章

sql server 临时库文件太大 迁移tempdb数据库

如何收缩 SQL Server 中的 Tempdb 数据库

SQL Server tempdb 数据库位置迁移

SQL SERVER——TempDB问题查找定位与解决

SQL Server中的Tempdb已满

sql server 2008r2的tempdb很大怎么办