| 元件/服務 | 建議記憶體 |
|---|---|
| NT 核心系統 | 32 MB |
| 網路服務 | +4 MB |
| 容錯/磁碟鏡像 | +8 MB |
| 圖形處理 | +16 MB |
| 開發工具 | +16 MB |
| 大型資料庫 | 視負載而定,越多越好 |
目標:給 SQL Server 分配盡可能多的記憶體,但不觸發系統分頁。
公式:SQL Server 可用記憶體 ≈ 總物理記憶體 - OS 需求 - 其他應用需求 - 安全餘量(2~20 MB)
| 物理記憶體 | 建議分配給 SQL Server | 設定值 |
|---|---|---|
| 64 MB | 40~46 MB | 20480~23552 |
| 128 MB | 100~108 MB | 51200~55296 |
| 256 MB | 216~226 MB | 110592~115712 |
| 512 MB | 464~472 MB | 237568~241664 |
sp_configure 'tempdb in ram', 1,提升排序/臨時表性能,但會佔用額外記憶體,需謹慎評估現象:伺服器 128 MB 物理記憶體,誤將 SQL Server 記憶體設為 1000 MB,服務啟動失敗,且無法進入企業管理器修改。
解決:將系統虛擬記憶體擴充至 1000 MB 以上,重啟伺服器,SQL Server 順利啟動,隨後再修正為合理值。
啟示:虛擬記憶體是物理記憶體不足時的「救命稻草」,但長期依賴會嚴重拖慢效能。
記憶體配置是 SQL Server 效能調優的「第一槓桿」。遵循「保留 OS、拒絕分頁、盡給 SQL」原則,結合實際負載持續監控調整,才能發揮硬體最大效能。