Microsoft SQL Server 2005 使用 Microsoft Windows 地址窗口化擴展插件 (AWE) API 支持超大物理內存。SQL Server 2005 在 Microsoft Windows 2000 Server 和 Microsoft Windows Server 2003 上最多可以訪問 64 GB 內存。
注意:只有 SQL Server 2005 Enterprise Edition、Standard Edition 和 Developer Edition 支持 AWE,并且 AWE 只能應用于 32 位操作系統(tǒng)。SQL Server 2005 Analysis Services (SSAS) 不能利用 AWE 映射內存。如果可用物理內存小于用戶模式虛擬地址空間,則無法啟用 AWE。
標準的 32 位地址最多可映射 4 GB 內存。因此,32 位進程的標準地址空間限制為 4 GB。默認情況下,在 32 位 Microsoft Windows 操作系統(tǒng)中,將為操作系統(tǒng)保留 2 GB 空間,另外 2 GB 空間可由應用程序使用。如果在 Windows 2000 Advanced Server 的 Boot.ini 文件中指定了 /3gb 參數(shù),則操作系統(tǒng)將僅保留 1 GB 的地址空間,應用程序最多可以訪問 3 GB 的空間。
AWE 是 Windows 的內存管理功能的一組擴展,它使應用程序能夠使用的內存量超過通過標準 32 位尋址可使用的 2-3 GB 內存。AWE 允許應用程序獲取物理內存,然后將非分頁內存的視圖動態(tài)映射到 32 位地址空間。雖然 32 位地址空間限制為 4 GB,但是非分頁內存卻可以遠遠大于 4 GB。這使需要大量內存的應用程序(如大型數(shù)據(jù)庫系統(tǒng))能使用的內存量遠遠大于 32 位地址空間所支持的內存量。
1. AWE 允許在 32 位體系結構上分配超過 4 GB 的物理內存。只有當可用物理內存大于用戶模式的虛擬地址空間時,才應該使用 AWE。
2. 若要使 32 位操作系統(tǒng)支持 4 GB 以上的物理內存,必須向 Boot.ini 文件添加 /pae 參數(shù)并重新啟動計算機。
注意:在 Windows Server 2003 中,如果服務器使用熱添加內存設備,則 PAE 將自動啟用。在這種情況下,您不必在配置為使用熱添加內存設備的系統(tǒng)中使用 /pae 參數(shù)。而在其他任何情況下,都必須在 Boot.ini 文件中使用 /pae 參數(shù)才能利用超過 4 GB 的內存。
3. 如果計算機上的可用物理內存超過 16 GB,操作系統(tǒng)就需要 2 GB 的虛擬地址空間供系統(tǒng)使用,因此只能支持 2 GB 的用戶模式虛擬地址空間。為了使操作系統(tǒng)能夠使用超過 16 GB 的內存,應確保 Boot.ini 文件中沒有 /3gb 參數(shù)。如果存在該參數(shù),操作系統(tǒng)就不能使用超過 16 GB 的物理內存。
注意:SQL Server 緩沖池可以充分利用 AWE 映射內存;但是只有數(shù)據(jù)庫頁才能動態(tài)映射(或取消映射)到 SQL Server 的虛擬地址空間,并充分利用通過 AWE 分配的內存。對于在虛擬地址空間中永久駐留更多的用戶、線程、數(shù)據(jù)庫、查詢和其他對象,AWE 并沒有直接的幫助。
4、使用AWE需要打開高級設置具體語句如下。
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
5、啟用“鎖定內存中的頁”選項
在“開始”菜單上,單擊“運行”,然后在“打開”框中鍵入 gpedit.msc。
將打開“組策略”對話框。
在“組策略”控制臺上,展開“計算機配置”,再展開“Windows 設置”。
展開“安全設置”,再展開“本地策略”。
選擇“用戶權利指派”文件夾。
細節(jié)窗格中隨即顯示出策略。
在該窗格中,雙擊“鎖定內存中的頁”。
在“本地安全策略設置”對話框中,單擊“添加”按鈕。
在“選擇用戶或組”對話框中,添加有權運行 sqlservr.exe 的帳戶。
6、需要重新啟動操作系統(tǒng)和數(shù)據(jù)庫服務。