SQL 服务器作业因 space 个问题而失败
SQL Server job failed due to space issues
在我们的 SQL 服务器代理上,一项工作通常每天需要 30 分钟才能完成。今天,它 运行 3 小时 41 分钟,然后由于 "Could not allocate space for object 'dbo.SORT temporary run storage: 140907480547328' in database 'tempdb' because the 'PRIMARY' filegroup is full"
而失败
现在我明白了,tempdb 已满,作业失败了。但是该作业设置为再进行 2 次尝试,并且在第 2 次尝试时,该作业在 31 分钟内完成且没有出现此失败。
我对这个问题的疑问是:
1) 为什么第二次没有失败?
2) 如果第一次尝试 运行 次 space,通常在 31 分钟内完成,为什么要等 4 个小时才能完成?
关于这些问题的任何想法都会非常有帮助。
谢谢,
R.
数据库通常有单独的数据文件组,您的 DBA 将尝试确保 PRIMARY 不是默认文件组。保持主文件组较小是最佳做法,因为它包含 SYS tables 并且 SQL 将希望更快地访问它们。
此错误通常发生在有人不小心在主文件组中创建索引时。
确保 table 上的所有索引都在正确的文件组上。
您的 DBA 应该能够帮助您。
在我们的 SQL 服务器代理上,一项工作通常每天需要 30 分钟才能完成。今天,它 运行 3 小时 41 分钟,然后由于 "Could not allocate space for object 'dbo.SORT temporary run storage: 140907480547328' in database 'tempdb' because the 'PRIMARY' filegroup is full"
而失败现在我明白了,tempdb 已满,作业失败了。但是该作业设置为再进行 2 次尝试,并且在第 2 次尝试时,该作业在 31 分钟内完成且没有出现此失败。
我对这个问题的疑问是:
1) 为什么第二次没有失败?
2) 如果第一次尝试 运行 次 space,通常在 31 分钟内完成,为什么要等 4 个小时才能完成?
关于这些问题的任何想法都会非常有帮助。
谢谢, R.
数据库通常有单独的数据文件组,您的 DBA 将尝试确保 PRIMARY 不是默认文件组。保持主文件组较小是最佳做法,因为它包含 SYS tables 并且 SQL 将希望更快地访问它们。
此错误通常发生在有人不小心在主文件组中创建索引时。
确保 table 上的所有索引都在正确的文件组上。
您的 DBA 应该能够帮助您。