【SQLSERVER】tempdb临时数据库回收方法

TangLu 未命名 2021-05-17 2087 0

公司有一套历史业务用到的是SQLSERVER数据库,由于年久失修致使TEMPDB占用硬盘空间接近500G,且可用空间也接近500G,说明大部分缓存数据已经可以释放,如图:

tempdb1.png


但是线上数据库又不能轻易重启,所以找到一个在线回收TEMPDB数据库的办法,即执行FREESYSTEMCACHE,从所有缓存中释放所有未使用的缓存条目。如下:

USE [tempdb]
GO
DBCC FREESYSTEMCACHE ('ALL')
GO

USE [TEMPDB]
GO
DBCC SHRINKFILE('TEMPDEV',1024)
GO


如果执行过后空间没回收,手动调整下tempdb的初始空间即可

tempdb2.png

评论