我問這關於 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 以乾淨的狀態存在。
我想,理論上,你可以建構一些邏輯
- 需要在 SQL Server 關閉時複製一組「乾淨」的基線 TempDB .mdb 文件
- 並將它們恢復到 RAM 驅動器前SQL Server 啟動
但這會很笨拙且容易出錯,因為您需要確保在 SQL Server 引擎服務啟動之前完成檔案複製。
我使用並推薦“SQL Server 安裝清單”布倫特·奧扎爾急救人員建構 SQL Server 時的工具包。它介紹了 SQL Server 建置的最佳實務。