失败SQL查询磁盘空间不足

时间:2012-01-20 16:27:51

标签: sql sql-server join view tempdb

  

Msg 1101,Level 17,State 10,Line 12   由于文件组“DEFAULT”中的磁盘空间不足,无法为数据库“TEMPDB”分配新页面。通过删除文件组中的对象,向文件组添加其他文件,或为文件组中的现有文件设置自动增长来创建必要的空间。

这用简单的英语是什么意思。

3 个答案:

答案 0 :(得分:12)

我发现TempDB爆炸性增长的正常原因是临时或存储过程中的查询,其中有一个意外的多对多连接,有些人称之为“意外”交叉加入“。在幕后,它可以创建数十亿个内部行,最终生活在TempDB中的“工作”表中。

修复不是简单地分配更多磁盘空间。修复是找出问题的原因并修复它。否则,你将陷入一个永无止境的循环,不得不重新启动SQL Server等等。

而且,不......你不必检查TempDB是否处于“SIMPLE”恢复模式,因为你无法将其设置为其他任何东西。试试吧,看看。

答案 1 :(得分:8)

这意味着您的tempdb数据库已填满

你可以

  1. 重新启动SQL Server服务,这将重新创建tempdb 数据库
  2. 在另一个磁盘上添加另一个文件
  3. 收缩tempdb的日志文件
  4. 有关详细信息,请参阅Dealing with the could not allocate new page for database 'TEMPDB'. There are no more pages available in filegroup DEFAULT error message

答案 2 :(得分:-4)

  1. 停止Citrix System Monitoring Agent服务
  2. 停止Firebird服务器 - CSMInstance服务
  3. 删除位于C:\ Documents and Settings \ All Users \ Application Data \ Citrix \ System Monitoring \ Data
  4. 的RSDATR.FDB firebird数据库
  5. 重新启动服务