sql - SQL查询失败磁盘空间不足

标签 sql sql-server join view 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.

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

最佳答案

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

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

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

关于sql - SQL查询失败磁盘空间不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944611/

相关文章:

sql - 根据sql中的日期过滤数据

mysql - 选择与总和不同

c# - 来自 SQL Server 的 MVC 4 Google 图表

c# - 存储过程需要参数但实际上提供了参数?

mysql - 在 MYSQL 中分组之前如何对数据进行排序

mysql - count in mysql更新mysql查询,错误支持

mysql - 如何在减法中使用子查询结果?

php - 查询mysql中的多行作为变量

sql - 优化大型表上的 SQL 连接

r - 通过引用两列的条件组合 R 中的两个数据表