首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 記憶體擴充實戰:32 位元 Windows 啟用 PAE/AWE 突破 2GB 限制

     編輯:關於SqlServer

32 位元 Windows Server 2003 Enterprise Edition 單一進程預設僅能使用 2GB 使用者模式位址空間。本文記錄透過 /PAE (Physical Address Extension) 與 AWE (Address Windowing Extensions) 為 SQL Server 釋放 4GB+ 實體記憶體的完整配置流程。

硬體與作業系統前提

  • 伺服器主機板/晶片組支援 **PAE** (現代 x86 伺服器皆支援,如 HP G3 系列)。
  • OS:Windows Server 2003 32-bit Enterprise/Datacenter Edition (Standard/Web 版不支援 >4GB)。
  • boot.ini 加入 /PAE 開關啟用實體位址擴充 (可寻址高達 64GB 實體記憶體)。

SQL Server 啟用 AWE 記憶體腳本

-- 1. 顯示進階選項
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO

-- 2. 啟用 AWE (Address Windowing Extensions)
EXEC sp_configure 'awe enabled', 1;
RECONFIGURE;
GO

-- 3. 設定最大伺服器記憶體 (MB) - 例:保留 2GB 給 OS,其餘給 SQL
-- 假設實體 8GB,設定 6144 MB (6GB)
EXEC sp_configure 'max server memory', 6144;
RECONFIGURE;
GO

關鍵參數說明

參數功能注意事項
/PAE (boot.ini)OS 層級啟用 36 位元實體位址匯流排,支援 >4GB 實體 RAM需 Enterprise/Datacenter 版;Standard/Web 版忽略此開關
awe enabledSQL Server 引擎使用 AWE API 將資料頁鎖定於非分頁集區 (Non-paged Pool)僅 32 位元 SQL Server 需要;64 位元原生支援大記憶體無需此設定
max server memory限制 SQL Server 緩衝集區最大值,預留記憶體給 OS/其他服務**必設**,否則 SQL 會佔用所有 AWE 記憶體導致 OS 記憶體不足
/3GB (boot.ini)擴大使用者模式虛擬位址空間至 3GB (核心空間壓縮至 1GB)**與 AWE 互斥**;若啟用 /3GB,SQL Server 最大僅能用 3GB 虛擬位址,無法受益於 >4GB 實體 RAM

Windows Server 2003 版本記憶體支援上限對照表

版本CPU 上限x86 實體記憶體上限x64 實體記憶體上限
Standard / Web / R2 Standard44 GB— / 2 TB
Enterprise / R2 Enterprise832 GB (R2: 64 GB)64 GB / 2 TB
Datacenter / R2 Datacenter32 / 64128 GB2 TB

驗證 AWE 是否生效

  • SQL Server 錯誤記錄檔啟動訊息:Address Windowing Extensions enabled。
  • 效能監視器 (PerfMon):SQL Server:Memory Manager → Total Server Memory (KB) 超過 2,097,152 KB (2GB)。
  • 工作管理員:sqlservr.exe 「記憶體使用量 (私人工作集)」較小,**但「虛擬記憶體大小」或「提交大小」反映 AWE 配置量** (需啟用欄位檢視)。

遷移建議:直接上 64 位元

新部署**強烈建議直接使用 64 位元 Windows + 64 位元 SQL Server**,原生支援 TB 級記憶體,無需 PAE/AWE 複雜配置,效能與穩定度更優。32 位元 AWE 方案僅為存量系統延壽之用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved