我刚开始担任 DBA 的新工作。突然之间,我们开始收到有关磁盘空间的警报。在查看时,我发现 tempdb 日志文件不断增长。有一个针对它运行的活动事务。我检查了查询,它正在使用临时表。从45分钟开始,它根本没有进展。我尝试了很多东西,包括这些作为最后的手段。
use tempdb
GO
DBCC FREEPROCCACHE -- clean cache
DBCC DROPCLEANBUFFERS -- clean buffers
DBCC FREESYSTEMCACHE ('ALL') -- clean system cache
DBCC FREESESSIONCACHE -- clean session cache
但这根本没有帮助。我还杀死了卡住的插入物。似乎它并没有超出规范过程。最后我不得不紧急中断几分钟并重新启动 SQL 服务。关于我可能错过的任何提示?
关于这个问题:
如何确定哪个查询正在填满 tempdb 事务日志?
您将能够以不同的方式和更多的技术信息看到更多信息,以了解发生这种情况的原因以及如何处理。
下面是一个脚本,我必须检查填充 tempDB 的内容。这可能是您探索的一个很好的起点。