Sql-Server

快閃記憶體和自動增長

  • March 28, 2019

我們的(大量)SQL Server 的數據庫文件(數據和日誌)託管在快閃記憶體 (SAN) 上,對於大小約為 500GB(數據)和 150Gb(日誌)的數據庫,您會使用什麼作為自動增長屬性?在後台知道由於儲存價格,您無法提前 5 年確定大小。附屬問題:在 SSD SAN 卷上處理文件碎片仍然準確嗎?

通常,儲存類型和數據庫的目前大小與您的自動增長設置並不特別相關。確保啟用即時文件初始化更為重要。

如果未啟用即時文件初始化,那麼在初始化文件的新部分時,一切(或多或少)都會停止。使用 SSD 的時間會更短,但仍會是一個重大問題。因此,如果您沒有啟用它,您可能希望將增長大小設置得相當小,或者在維護視窗期間增加大小。

如果啟用了即時文件初始化,那麼無論儲存是 SSD 還是碟片,文件增長都只需要幾毫秒。您一次增長多少取決於是否有其他任何東西會使用磁碟空間。如果它是一個數據庫、一個文件等,並且沒有其他東西會使用它,你可以只增長一次以使用幾乎所有的磁碟並完成它。但是如果有多個數據庫/文件,那麼您只需要考慮所有這些因素。

至於文件碎片,性能影響完全與磁碟讀取時間有關,而且由於 SSD 上的隨機磁碟尋軌速度要快得多,因此它不像碟片那樣嚴重。正如 Aaron 在上面的評論中提到的,讀取應該大部分都在緩衝區之外,所以如果 SQL Server 有足夠的記憶體,它無論如何都不會從磁碟讀取太多。

通常,您希望對其進行設置,使其不必經常增長,這樣當出現性能問題時,您甚至都不會想知道它是否是由於文件碎片等造成的。沒關係您的儲存是什麼,針對您擁有的任何資源優化配置。在不了解系統的所有細節的情況下,我們只能回答有關概念的問題,而不是關於最適合您的特定情況的具體問題。此外,StackExchange 並不是獲取自定義規範的真正場所——這是一種諮詢活動。

引用自:https://dba.stackexchange.com/questions/233396