以前的伺服器,由於記憶體的價格過高,一般配置的記憶體不是很多,超過4GB的當然就不多了.現在的伺服器,配置超過4GB就很多,在配作SQL 資料庫伺服器後,很多的人只選預設的設定,雖然可以正常使用,可是卻把大量的記憶體給浪費(SQL服務使用的記憶體不會超過1.8GB),系統的效能也不能因為的大記憶體而提升,這是很可惜的。
在本文中,我大致講一下配置的過程。(如果伺服器的記憶體少於4GB,不用配置)
1.開啟系統中的大記憶體支援(windows):
若要啟用 Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server 支援,大於4GB的實體記憶體,必須將參數 /pae 添加到 boot.ini 檔案中。
以下是引用片段: [boot loader] timeout=0 default=multi(0)disk(0)rdisk(0)partition(1)WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect |
改為:
以下是引用片段: [boot loader] timeout=0 default=multi(0)disk(0)rdisk(0)partition(1)WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect /pae |
這個改好後,要重啟系統的。
2.啟用鎖定記憶體頁選項(Windows):
1、啟用鎖定記憶體頁選項
2、在"開始"菜單上單擊"運行"子功能表,然後在"開啟"框中鍵入"gpedit.msc"。
3、在"組策略"控制台上,展開"電腦配置",然後展開"Windows 設定"。
4、展開"安全設定",然後展開"本地策略"。
5、選擇"使用者權限分配"複選框。
6、詳細資料窗格中隨即顯示出策略。
7、在詳細資料窗格中,雙擊"鎖定記憶體頁"。
8、在"本地安全性原則設定"對話方塊中,單擊"添加"按鈕。
9、在"選擇使用者或組"對話方塊中,添加有權運行 sqlservr.exe 的帳戶。
3.啟用SQL的AWE:
若要啟用 AWE,請將 awe enabled 設定為 1。除非指定了 max server memory 的值,否
則 SQL Server 將保留幾乎所有可用記憶體,只留下128MB 或更少。
如果已成功啟用該選項,則當SQL Server 2000 執行個體啟動時,SQL Server 錯誤記錄檔中將
出現"已啟用地址視窗擴充"這條訊息。
awe enabled 是進階選項。如果正在使用 sp_configure 系統預存程序更改該設定,則只有
當 show advanced options 設定為 1 時才能更改 awe enabled。
code 如下,設定SQL 使用6GB的記憶體:
以下是引用片段: sp_configure show advanced options, 1 RECONFIGURE GO sp_configure awe enabled, 1 RECONFIGURE GO sp_configure max server memory, 6144 RECONFIGURE GO |
必須重新啟動 SQL Server 2000 執行個體才能使更改生效:
以下是引用片段: net stop mssqlserver net start mssqlserver |
這樣,SQL 服務啟動後,就會把6G的記憶體給鎖定,完全供SQL使用。