[整理] 32Bit Windows & SQL Server 大容量記憶體使用設定

tolywang發表於2009-02-26

 標準的 32 位地址最多可映像 4 GB 記憶體。因此,32 位程式的標準地址空間限制為 4 GB。預設情況下,在 32 Microsoft Windows 作業系統中,將為作業系統保留 2 GB 空間,另外 2 GB 空間可由應用程式使用。

32bit作業系統中,一般SQL Server可以使用的記憶體不到2G,就算開啟了3GB開關,也使用不到3G。現在,記憶體容量超過4GB的伺服器越來越多,如果要SQL SERVER2000可以使用大容量的記憶體,我們需要做以下設定。

 

備註:  如何開啟作業系統3G開關
    
修改boot.ini檔案(要在C盤下看到boot.ini需要在勾掉“隱藏受保護的作業系統檔案”),在啟動windows項中新增 /3G 引數。修改過後的boot.ini檔案應該類似以下內容:  
[boot loader]    
timeout=8    
default=multi(0)disk(0)rdisk(0)partition(1)
[operating systems]  
multi(0)disk(0)rdisk(0)partition(1)="Microsoft Windows 2000 Advanced Server"  /3G  /fastdetect  

多了一個 /3G 引數。這個引數的作用,就是讓windows啟動時,將自己的核心及支援程式裝載到記憶體地址 0xC0000000 0xFFFFFFFF 之間,給應用程式留出3G的空間來。  

 

設定SQL Server使用大容量記憶體步驟:   


1. 安裝SQL Server2000,升級至SP4 (8.00.2039),並打上AWE補丁SQL2000-KB899761-v8.00.2040  

2. C:\boot.ini 檔中設定 /PAE 引數,然後重開機,讓OS抓到記憶體

備註: PAE(實體地址擴充套件)

例子:multi(0)disk(0)rdisk(0)partition(1)="Microsoft Windows 2000 Advanced Server"   /fastdetect    /PAE  

3. SQL Query Analyzer中輸入下列指令,來啟動SQL ServerAWE功能(這裡設定記憶體為6G): 
    sp_configure 'show advanced options', 1 
    RECONFIGURE
    GO
    sp_configure 'awe enabled', 1
    RECONFIGURE
    GO
    sp_configure 'max server memory', 6000
    RECONFIGURE
    GO
    sp_configure 'allow updates', 1
    RECONFIGURE WITH OVERRIDE
    GO 
4.  
在控制皮膚--管理工具--本地安全策略(或域安全策略中)--安全設定--本機策略使用者許可權分配右邊視窗中選取記憶體中鎖定頁面在其設定畫面新增使用者或組加入MSSQLSERVER服務的啟動賬號(比如administrator)   
5.
在命令提示符號下輸入  secedit /refreshpolicy machine_policy /enforce 或是 gpupdate (gpupdate 針對windows xp, 2003)  

secedit  /refreshpolicy  machine_policy  /enforce  (針對windows2000)

Windows 2000 接受此請求後,會向使用者顯示以下文字:

來自域的組策略傳播已為這臺計算機觸發。要完成傳播並使新策略生效,需要幾分鐘的時間。請檢查應用程式日誌。

Windows 2003 下執行 gpupdate 後的結果。

C:\>gpupdate

正在重新整理策略...

使用者策略重新整理完成。

計算機策略重新整理完成。

要檢查在策略處理中的錯誤,請查閱事件日誌。

6. 重新啟動SQL Server服務使設定生效

7. SQL Query Analyzer中輸入下列指令,來關閉SQL Serverallow updates功能:
    sp_configure 'allow updates', 0  
    RECONFIGURE WITH OVERRIDE   
    GO   

8. 開啟工作管理員看看記憶體是否跟設定值一樣

 

術語解釋:

PAEPhysical Address Extension):PAE IA32 處理器新增的功能,可以定址 4 GB 以上的實體記憶體。Microsoft Windows 2000 Advanced ServerMicrosoft Windows 2000 Datacenter ServerMicrosoft Windows Server 2003,企業版和 Microsoft Windows Server 2003Datacenter Edition 可以使用 PAE 定址超過 4 GB 的實體記憶體。如果要啟用 PAE,請使用 Boot.ini 檔案中的 /PAE 引數。 

AWEAddress Windowing Extensions):AWE 是一個 API 集,它使程式能夠保留大記憶體塊。保留的記憶體是非分頁的,並且只可以由該程式來使用。

 

SQL Server 啟用AWE 官方文件

  

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-557947/,如需轉載,請註明出處,否則將追究法律責任。

相關文章