0

在我们的 SQL Server 代理上,一项工作通常每天需要 30 分钟才能完成。今天,它运行了 3 小时 41 分钟,然后由于 “无法为数据库 'tempdb' 中的对象 'dbo.SORT 临时运行存储:140907480547328' 分配空间,因为 'PRIMARY' 文件组已满”而失败

现在我知道 tempdb 已满且作业失败。但是该作业设置为再进行 2 次尝试,并且在第二次尝试时,该作业在 31 分钟内完成,没有出现此失败。

我关于这个问题的问题是:

1)为什么第二次没有失败?

2)如果它在第一次尝试时空间不足,为什么它通常在 31 分钟内完成时要等待 4 小时才能完成?

围绕这些问题的任何想法都会非常有帮助。

谢谢,R。

4

1 回答 1

0

数据库通常有单独的数据文件组,您的 DBA 将尝试确保 PRIMARY 不是默认文件组。最佳做法是保持主文件组较小,因为它包含 SYS 表并且 SQL 希望更快地访问它们。

当有人不小心在主文件组中创建索引时,通常会发生此错误。

确保表上的所有索引都在正确的文件组上。

您的 DBA 应该能够为您提供帮助。

于 2016-12-14T20:47:29.983 回答