RAMDisk 或 PCI-E 上的 SQL TempDB?

RAMDisk 或 PCI-E 上的 SQL TempDB?

我問關於 dba.stackexchange 的問題

由於我們有800 GB 內存,而資料庫只有約250 GB,因此我們計劃將SQL Server 的tempdb 檔案放在RAMDisk 上,為其資料和日誌檔案分配100GB,而不是當前的SSD(SAN 第1 層),因為我們的供應商應用程式對 tempdb 非常密集。

它比 PCI-E 卡好嗎?我們只關心速度,而不關心持久性,因為每次重新啟動 SQL 時都會刪除並重新建立 tempdb。

我們更喜歡 WQHL 認證的供應商。有什麼需要特別選擇或避免的嗎?

答案1

SQL Server 不會刪除/建立 TempDB。這數據它的內部沒有被保留,但是文件是。 SQL Server 希望它們在啟動時是乾淨的,就像標準資料庫的資料和日誌檔案集一樣。

如果您在 RAM 磁碟中建立 TempDB 文件,它們將在重新啟動時被銷毀,這將使 SQL Server 崩潰,因為它要求 DB 以乾淨的狀態存在。

我想,理論上,你可以建構一些邏輯

  1. 需要在 SQL Server 關閉時複製一組「乾淨」的基線 TempDB .mdb 文件
  2. 並將它們恢復到 RAM 驅動器SQL Server 啟動

但這會很笨拙且容易出錯,因為您需要確保在 SQL Server 引擎服務啟動之前完成檔案複製。

我使用並推薦“SQL Server 安裝清單”布倫特·奧扎爾急救人員建構 SQL Server 時的工具包。它介紹了 SQL Server 建置的最佳實務。

相關內容