问题 失败SQL查询磁盘空间不足


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

这用普通英语意味着什么?


4861
2018-01-20 16:27


起源

没有必要如此突然。海报显然要求澄清为什么会这样。 - general exception
@generalexception - 因为消息实际上很清楚,如果他们解释他们不理解的东西,它会有所帮助。我们是从一个他们不知道什么的起点开始工作的 tempdb 是偶数还是为什么它与他们的查询有关? - Martin Smith
道歉马丁,你应该假设我知道tempdb是什么,我得到的是这个错误信息的一般原因是什么,我将在下次尝试清楚,以免引起混淆或怀疑。从现在开始,如果我粘贴错误消息,我将通过每个部分并说明我是否理解。 - JsonStatham
再一次,道歉,如果我们没有像你这样的人指出这些事情,我们会在哪里... - JsonStatham
没问题。总是很乐意提供帮助! - Martin Smith


答案:


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

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

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


11
2018-01-21 17:22





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

您可以

  1. 重新启动SQL Server服务,这将重新创建tempdb 数据库
  2. 在另一个磁盘上添加另一个文件,空间更大
  3. 收缩tempdb的日志文件

看到 处理无法为数据库'TEMPDB'分配新页面。文件组DEFAULT错误消息中没有可用的页面 更多细节


8
2018-01-20 16:30





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

-4
2017-08-09 12:38



这个问题有明确标记 SQL Server,是的 不 火鸟。 - Ken White