我们有一个定期运行的存储过程。它在3-4个小时内将TempLog.ldf的大小从零放大到150 GB。怎么回事,为什么这么大?TempDB.mdf是一个常量的40 is。这是一个很好的尺寸,而且它永远不会变大。TempDB的恢复模型设置为Simple。AutoShrink关机了。
该过程不使用任何显式事务。它工作在大约500块数据中。有些很小,只有几百行。有些是非常大的,150万行。一块有1600万行。
对于每一块数据,过程如下:
正如我所说,TempLog.mdf的大小始终保持在40 As,这是很好的。我需要知道为什么TempLog.ldf变得这么大,我能做些什么来缓解这个问题。在#temp表被截断之后,我尝试为TempDB添加一个手动检查点。这似乎没什么区别。
问题:
发布于 2018-10-08 17:48:00
您可以使用DMV在Tempdb中观察事务日志的使用情况,然后可能对您的过程进行测试,并监视它在tempdb中的事务日志使用情况,以查看是否可以解释日志文件的增长,并可能确定对其有何贡献。
例:
select database_transaction_log_bytes_used /1024. log_mb_used
from sys.dm_tran_database_transactions dt
join sys.dm_tran_current_transaction ct
on dt.transaction_id = ct.transaction_id
where database_id = 2
https://dba.stackexchange.com/questions/219516
复制相似问题