我的情况是最初temp db的空间只有8mb。我创建了一个临时表#ABC。填充了一些数据。临时数据库的空间为400 MB。在我放弃#ABC之后,临时数据库没有达到8mb。它仍然有400 MB的空间。我需要把它变成8mb。
我问这个问题是因为我面临的情况是,在删除ssrs中的临时表之后,临时数据库完全占用了硬盘的所有内存(500GB)。我真的需要解决这个问题,我需要重启sql server每次都释放空间。 谢谢你的帮助。
答案 0 :(得分:1)
假设你的意思是持有tempdb的操作系统文件,默认情况下这些文件不会自动收缩,大多数人会认为这是个坏主意。
如果你的过程需要所有空间来完成它的工作,那么你应该给它足够的空间来做到这一点。收缩只会推迟问题,因为下次流程运行时需要再次获得相同数量的空间。如果自由空间在两次运行中缩小,它可能会失败或进入死亡螺旋。