SQL查询失败磁盘空间不足

发布于 2024-12-28 03:02:18 字数 179 浏览 3 评论 0原文

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

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

Msg 1101, Level 17, State 10, Line 12
Could not allocate a new page for database 'TEMPDB' because of insufficient disk space in filegroup 'DEFAULT'. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

What does this mean in plain English.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无人接听 2025-01-04 03:02:18

我发现 TempDB 如此爆炸性增长的正常原因是一个查询,无论是临时查询还是存储过程中的查询,其中都有意外的多对多联接,有些人将其称为“意外交叉联接” 。在幕后,它可以创建数十亿条内部行,这些行最终位于 TempDB 中的“工作”表中。

解决方法不是简单地分配更多磁盘空间。修复方法是找到导致问题的查询并修复它。否则,您将陷入必须重新启动 SQL Server 等永无休止的循环。

并​​且,不...您不必检查 TempDB 是否处于“SIMPLE”恢复模式,因为您不能将其设置为其他任何内容。尝试一下看看。

I've found that the normal cause of such explosive growth of TempDB is a query, either ad hoc or in a stored procedure, that has an unexpected many-to-many join in it that some refer to as an "Accidental Cross Join". Behind the scenes, it can create litterally billions of internal rows that end up living in "work" tables that live in TempDB.

The fix isn't to simply allocate more disk space. The fix is to find which query is the cause of the problem and fix it. Otherwise, you'll be stuck in a never ending cycle of having to restart SQL Server, etc, etc.

And, no... you don't have to check to see if TempDB is in the "SIMPLE" recovery mode because you can't set it to anything else. Try it and see.

小瓶盖 2025-01-04 03:02:18

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

您可以

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

请参阅 处理无法为数据库“TEMPDB”分配新页的问题。文件组 DEFAULT 错误消息中没有更多可用页面了解更多详细信息

It means your tempdb database filled up

you can

  1. Restart the SQL Server service, this will recreate the tempdb
    database
  2. Add another file on another disk with more space
  3. Shrink the log file of tempdb

See Dealing with the could not allocate new page for database 'TEMPDB'. There are no more pages available in filegroup DEFAULT error message for more details

葬心 2025-01-04 03:02:18
  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. 重新启动服务
  1. Stop the Citrix System Monitoring Agent service
  2. Stop the Firebird Server - CSMInstance service
  3. Delete the RSDATR.FDB firebird database located at C:\Documents and Settings\All Users\Application Data\Citrix\System Monitoring\Data
  4. Restart the services
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文