问题是:我有一个包装器存储过程,其中包含许多其他存储过程。它看起来像这样:
Wrapper:
exec procedure1
exec procedure2
exec procedure3
每个过程都会创建一个在其中使用的临时表。问题是每次执行包装器时我都会耗尽tempDB
空间。
但是,在执行每个单独的存储过程时,它工作正常。
我的理解是在存储过程完成后删除临时表。那么为什么我的tempDB
会变满?
编辑:
这是我得到的错误。
1101:无法为数据库分配新页面' TEMPDB'由于文件组中的磁盘空间不足而导致“默认”错误。通过删除文件组中的对象,向文件组添加其他文件,或为文件组中的现有文件设置自动增长来创建必要的空间。
答案 0 :(得分:0)
tempdb中的磁盘空间不足可能会导致SQL Server环境中断。可能有多种原因导致tempdb变满,如长时间执行查询,在tempdb中抽取大量数据。您需要确定获取完整tempdb的原因。 您可以浏览以下链接: https://msdn.microsoft.com/en-us/library/ms176029.aspx 这可能会帮到你。