最大限度地提高 I/O 速度是改善 SQL Server 性能的關鍵因素。增加 SQL Server 內存分配會減少 I/O 需求。為 SQL Server 提供的內存內數據高速緩存功能越強越好。在不導致 Windows NT 頻繁分頁的條件下,給 SQL Server 盡可能多的 RAM。
但小心不要因給 Windows NT 留的 RAM 太少而導致 Windows NT 擁擠。盡管給 SQL Server 大量內存是好事,但是數據高速緩存的增加所產生的性能改進的百分比通常是微不足道的。例如,如果 500 兆字節數據高速緩存的高速緩存命中率是 90%,那麼增加到 550 兆字節時的命中率可能不過是 91%。SQL Server 性能可能不會明顯改進。此外,對於有十幾億字節內存、幾百的 SQL 線程等等的大型服務器來說,記住 Windows NT 可能需要比此多得多的內存來支持這樣的配置。箴言:不要使 Windows NT 變得太擁擠。
Windows NT/SQL Performance Monitor 計數器顯示 Windows NT 的分頁: Memory: Pages/sec > 0。由於工作集剪裁和 Virtual Memory Manager 其它操作將很少使用的頁轉移到 Windows NT 備用和可用列表,看到某些程度的分頁活動也是正常的。
要設置 SQL Server 內存,使用“sp_configure memory,
每次更改 SQL Server 內存值時,SQL Server 自動調整“free buffers”配置選項(至內存的 5%)。DBA 隨後(調整 SQL Server 內存後)可以按需要設置可用緩沖區。
舉例:請看一個基於 Windows NT 的服務器,它帶有 2GB RAM,僅供 SQL Server 操作專用。使用上面的公式,用以下命令設置 975,000 個 2 KB 的頁面:
Sp_configure memory,975000
Reconfigure with override
要使此配置選項生效,需要停止和重新啟動 SQL Server。