正確設定 tempdb 以避免可用空間發生重大變化

正確設定 tempdb 以避免可用空間發生重大變化

每隔兩到三天我們就會收到以下 SCOM 錯誤:

電腦上 SQL 執行個體 MSSQLSERVER 中的資料庫 tempdb 資料庫伺服器自由空間經歷了重大變化

自從安裝 SharePoint 2007 SP2 以來,這種情況就一直發生,並且發生在半夜,可能是在 SharePoint 執行搜尋索引任務時。

目前 tempdb 的大小為 313.88 MB,可用空間為 49.72 MB。我被告知警報的閾值是 45%。我們使用的是 SQL Server 2005 64 位元。

如何解決此問題以及 tempdb 是否應該進行不同的配置?我在這方面偶然成為了一名 DBA!謝謝...

答案1

一個快速的解決方案是使 tempdb 足夠大以避免波動。

  • 將臨時資料庫的大小調整為 1GB 資料、500 MB 日誌(或 2GB/1GB)
  • 停止 SQL 伺服器
  • 刪除tempdb LDF和LDF文件
  • 重新啟動 SQL Server

在不深入的情況下,磁碟空間很便宜,擁有更大的 tempdb 也沒有壞處。

隨著資料的成長,您也將開始使用更多的 tempdb。

該解決方案將有助於避免實體文件碎片和自動文件增長問題。

答案2

tempdb 用於許多用途,僅舉一些例子:

  • Tempdb 表、表變量
  • 哈希匹配
  • 排序操作
  • 行版
  • DBCC檢查資料庫
  • 如果使用 SORT_IN_TEMPDB 選項,則重新建立索引

預計可用空間會發生變化,您可以相應地調整 tempdb 的大小,使其至少具有繞過警報所需的最大值的兩倍。我也會保留自動增長功能,以防萬一,您不希望出現 tempdb 空間不足的情況。

答案3

資料庫是否開啟了自動收縮?如果是這樣,請將其關閉。它將增長到所需的最大尺寸並停留在那裡。您可能還想查看它的增長量。在不知道我們正在討論的大小以及您的伺服器規格是什麼的情況下,我不想給出有關成長增量的任何具體建議。

相關內容