| 區域 | 位址範圍 | 大小 | 用途 |
| 使用者空間 | 0x00000000 ~ 0x7FFFFFFF | 2 GB | SQL Server 進程私有空間 |
| 核心空間 | 0x80000000 ~ 0xFFFFFFFF | 2 GB | 作業系統核心、驅動、PTE |
32 位元系統的 4GB 限制
CPU 位址線 32 位,最大尋址 4GB。即使裝 64GB 實體記憶體,32 位元 OS 僅能使用 4GB。
突破 2GB 使用者空間限制
/3GB 開關
調整核心/使用者空間比例為 1GB / 3GB,讓 SQL Server 多獲得 1GB VAS。
Boot.ini 範例:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003" /3GB
Windows Server 2008+ 使用 BCDEdit
bcdedit /set IncreaseUserVa 3072
物理位址擴展 (PAE) 與 AWE
PAE 讓 32 位元 CPU 支援高達 64GB 實體記憶體。SQL Server 需啟用 AWE (Address Windowing Extensions) 才能利用 4GB 以上記憶體:
sp_configure 'show advanced options', 1; RECONFIGURE;
sp_configure 'awe enabled', 1; RECONFIGURE;
啟用 AWE 後,SQL Server 可將資料頁面映射到 4GB 以上的實體記憶體,但程式碼、計畫快取仍限於 VAS 內。
64 位元環境優勢
- VAS 高達 8TB (SQL Server 2008 R2: 8TB),徹底解決記憶體壓力
- 無需 /3GB、PAE、AWE 等複雜配置
- 原生支援大記憶體頁面 (Large Pages)
監控關鍵指標
| 計數器 | 建議閾值 | 說明 |
| SQLServer:Memory Manager\Target Server Memory | - | SQL Server 目標記憶體 |
| SQLServer:Memory Manager\Total Server Memory | 接近 Target | 實際使用記憶體 |
| Process\Working Set\_Total | - | 實體記憶體工作集 |
| Memory\Available MBytes | > 500 MB | 系統可用記憶體 |
| SQLServer:Buffer Manager\Page Life Expectancy | > 300 秒 | 資料頁面存活期望 |
| SQLServer:Buffer Manager\Lazy Writes/sec | < 20 | 緩衝區寫入磁碟頻率 |
常見問題診斷
- 記憶體壓力:PLE 持續偏低、Lazy Writes 高、編譯/重編譯頻繁
- 外部壓力:Available MBytes 過低、其他進程佔用大量記憶體
- 計畫快取膨脹:單用計畫過多,考慮
OPTIMIZE FOR AD HOC WORKLOADS
- 上一篇文章: 使用 DBCC CHECKDB 手動修復損壞資料庫完整流程
- 下一篇文章: SQL Server 2008 資料類型完整指南與選用建議
Copyright ©
程式碼之家 All Rights Reserved