Sql-Server

當 tempdb 不能再增長時會發生什麼?

  • February 9, 2011

我遇到了一個問題,即設置為無限制增長的 tempdb 數據庫已用完所有可用磁碟空間(其標準的 10 倍)。我正在考慮設置一個最大尺寸限制,一個很大但不是所有空間的東西。

如果查詢將 tempdb 推到了極限,我希望耗盡空間的查詢將被終止並釋放空間,讓其他一切正常工作。這可能會發生還是 SQL Server 會完全停止?

感謝您的任何回答。

這裡有一篇關於這個主題的好文章(大約在頁面下方的 3/4 處)。這是一段摘錄:

在此範例中,查詢執行了 3 分鐘,然後我們達到了 200MB 文件大小限制,如圖 25 所示,並收到文件組已滿的錯誤消息。

此時,查詢顯然會失敗,任何其他需要使用 TempDB 的查詢也會失敗。SQL Server 仍在正常執行,但只要臨時表#HoldAll 存在,TempDB 就會保持填充狀態。

作為 DBA,您的三個選擇是:

  • 重新啟動 SQL Server。
  • 嘗試縮小 TempDB 數據庫。
  • 找到錯誤的查詢並消除它。

引用自:https://serverfault.com/questions/232596