3

问题是这样的:我有一个包含一堆其他存储过程的包装存储过程。它看起来像这样:

Wrapper:

  exec procedure1
  exec procedure2
  exec procedure3

每个过程都会创建一个在其中使用的临时表。tempDB问题是每次执行包装器时空间都用完了。

但是,在执行每个单独的存储过程时,它工作正常。

我的理解是临时表在存储过程完成后被删除。那为什么我tempDB的吃饱了?

编辑:

这是我得到的错误。

1101:由于文件组“DEFAULT”中的磁盘空间不足,无法为数据库“TEMPDB”分配新页面。通过删除文件组中的对象、向文件组中添加其他文件或为文件组中的现有文件设置自动增长来创建必要的空间。

4

1 回答 1

1

tempdb 中的磁盘空间不足可能会导致 SQL Server 环境中断。导致 tempdb 满的原因可能有多种,例如长时间执行查询、在 tempdb 中抽取大量数据。您需要确定获取完整 tempdb 的原因。您可以通过以下链接: https ://msdn.microsoft.com/en-us/library/ms176029.aspx 这可能会对您有所帮助。

于 2018-03-05T05:00:01.630 回答