具有混合儲存的 Windows 伺服器虛擬機上的 Microsoft SQL 伺服器儲存最佳實踐
我有一個windows server VM,HDD和SSD儲存相結合,SSD儲存容量限制為50 GB,但HDD儲存容量很高。
共享這些儲存以盡可能以最穩定的狀態和最高的性能執行 MSSQL 的最佳方式是什麼?
是否需要在 SSD 驅動器中安裝 SQL Server 引擎?
50 GB 不是很多空間,但如果您有一個小型數據庫,您可以將整個數據庫配置為僅在 SSD 上執行。如果不知道您的數據庫大小和預計的增長率,我無法確定。
假設您確實需要使用 HDD 來保存您的使用者數據庫,那麼我將評估 50 GB 是否足以容納
tempdb
數據庫。tempdb
是一個系統數據庫,在查詢處理過程中會發生某些操作,因此通常建議將其配置在自己的快速磁碟上。此外,當您的查詢執行時,如果數據由於基數估計錯誤或其他原因而溢出到磁碟tempdb
,那麼這就是溢出到磁碟的地方。與 HDD 相比,SSD 上發生溢出將對性能產生有意義的影響。通常,您應該配置
tempdb
9 個相同大小的文件(8 個數據文件和 1 個日誌文件)以最大限度地提高其性能。同樣,您也應該預先增加使用者數據庫的數據和日誌文件,尤其是當它們位於 HDD 上時。數據庫增長操作的性能成本可能很高,因此通過一次主動地完全擴展文件,您不必擔心隨著數據量的增加而產生多次成本。
我建議的唯一其他建議是,如果您可以為數據庫使用兩個不同的物理 HDD,那麼您應該將數據庫的數據文件放在一個 HDD 上,而將日誌文件放在另一個 HDD 上,因為最大化 I/O 將有幫助。
是否需要在 SSD 驅動器中安裝 SQL Server 引擎?
通常建議(出於管理原因更是如此)將 SQL Server 引擎安裝到它自己的驅動器上,與任何數據庫分開。因此,根據我上面的建議,除了 1 個 SSD 和 2 個 HDD,您還需要第三個 HDD 來遵循這個建議。
如果這不可能,那麼我想您應該將它安裝到 SSD 上,這樣它至少與您的使用者數據庫文件隔離,並且由於 SSD 將具有最高的磁碟性能,所以支持引擎應該不是問題文件和
tempdb
.我曾經使用過將引擎的安裝路徑及其使用者數據庫文件混合在一起的 SQL Server 實例,並且我自己從未遇到過問題,但是自從我使用依賴於 HDD 的實例以來已經有很長時間了,所以堅持下去如果您沒有可以使用的額外專用 HDD,SSD 可能是最佳選擇。
最後,確保您遵循SQL Server 最佳設置實踐,這也將幫助您最大限度地提高性能。(這個資源有點過時,但仍然非常有效。)您還可以在DBA 培訓計劃 21:建構新的 SQL Server中找到更多更新的資訊。