Sql-Server
使用大量 RAM 組織 SQL Server 的策略
我們現在有一個新的伺服器用於我們的數據庫,除此之外,我們有 128GB 的可用 RAM(以前我有 16GB)。我知道 SQL Server 非常擅長管理它的資源,但我想知道是否有任何特殊的設置或策略我應該在伺服器/數據庫設置或處理程式碼(儲存的過程/索引等)中採用以確保 SS 佔用可用記憶體的最大優勢。
數據庫大約 70GB,它是一個非事務性數據庫(它是一個數據倉庫)。所以基本上大寫然後大讀是正常的事情流程。
即使您目前有可用記憶體(70GB 數據庫與 128GB 伺服器),我仍然會
maximum server memory
按照最新指南進行配置。…為作業系統預留 1 GB RAM,從 4-16 GB 安裝的每 4 GB RAM 預留 1 GB,然後在 16 GB RAM 以上安裝的每 8 GB RAM 預留 1 GB。
這相當於 128GB 伺服器上的 110GB。推理是數據倉庫可能會繼續增長,並且最終可能會比你想要的更多,所以現在設置正確的限制。否則它會被遺忘。
當您的數據量超過 110GB 限制時,請密切注意伺服器的可用記憶體。如果您始終有額外的 GB 可用,您可以考慮將限制提高幾 GB。
除此之外,您唯一的其他微調選項是帶有跟踪標誌的,應該謹慎對待它們。測試,測試和測試更多。
我能想到的三個候選人是:
- TF834 - 大頁面分配
- TF2301 - 查詢處理器建模擴展(通常對 OLAP 有好處,對 OLTP 可能有問題)
- TF4199 - 查詢優化器更改
正如之前在回答中提到的,Thomas Kejser將 TF834 稱為 SQL Server 僅“更快”開關。TF2301 啟用有利於 DW 類型查詢的優化。TF4199 需要閱讀連結的文件,所以這樣做。