SQL Server中的Tempdb已满
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server中的Tempdb已满相关的知识,希望对你有一定的参考价值。
问题是这样的:我有一个包装器存储过程,其中包含许多其他存储过程。它看起来像这样:
Wrapper:
exec procedure1
exec procedure2
exec procedure3
每个过程都会创建一个在其中使用的临时表。问题是每次执行包装器时我都会耗尽tempDB
空间。
但是,在执行每个单独的存储过程时,它工作正常。
我的理解是在存储过程完成后删除临时表。那么为什么我的tempDB
变满了?
编辑:
这是我得到的错误。
1101:由于文件组“DEFAULT”中的磁盘空间不足,无法为数据库“TEMPDB”分配新页面。通过删除文件组中的对象,向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建必要的空间。
答案
在tempdb中耗尽磁盘空间可能会导致SQL Server环境中断。可能有多种原因导致tempdb完全像长时间执行查询,在tempdb中抽取大量数据。您需要确定获取完整tempdb的原因。您可以通过以下链接:https://msdn.microsoft.com/en-us/library/ms176029.aspx这可能会帮到您。
以上是关于SQL Server中的Tempdb已满的主要内容,如果未能解决你的问题,请参考以下文章