错误如下:“无法为数据库 'tempdb' 中的对象 ' <temporary system object: 72057599107137536>' 分配空间,因为 'PRIMARY' 文件组已满。
这个是数据库的报错。
tempdb空间已经增加了100G,但是很快就用完了。
怎样清理tempdb空间呢?
这个问题第1个回答:
日志模型-简单
这个问题第2个回答:
哦?
停止SQL服务,重新启动一下.
这个问题第3个回答:
tempdb 默认的就是简单模型。
你的tempdb怎么会那么大。平时如果生成的临时表不用的就及时删除。
你的一个事务操作中间的过程会产生100G的数据吗? 简单模式的话当可用空间》25%的话就会自动收缩。
还有,重启sql服务,tempdb马上就会全部清空
这个问题第4个回答:
停止SQL服务,重新启动一下.
您运行多久没断线了……
不维护吗?
这个问题第5个回答:
tempdb里面不会存在死锁这种问题么?
这个问题第6个回答:
可能是你的临时表用得太多吧
这个问题第7个回答:
是很多,不过也没有一次用到超过10G这么夸张,而且再第二次使用之前会自己清理掉临时表的。
这个问题第8个回答:
应该用完就清了,
重启一下吧
这个问题第9个回答:
重启SQL Server,shrink DB file, log试试
这个问题第10个回答:
清理完毕,再跑两轮作业看下tempdb的空间使用情况
这个问题第11个回答:
估计是临时表用的太多,临时表删除後,tempdb不会自动釋放空间,这样也很正常
因为tempdb需要自动增长,分配空间的时候很损伤性能的.
如果你真的很在意那tempdb的大小,那就收缩tempdb吧,应该能缩小。
SQL code
USE TEMPDB
GO
DBCC SHRINKFILE(1)
GO
这个问题第12个回答:
还是查查程序吧,没准哪里没写好
这个问题第13个回答:
原因出来了,病毒。