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