2011年3月14日 星期一

SQL server 32bit (OS 32bit) 服務器大記憶體配置

參考1
參考2
參考3
---
以前的服務器,由於記憶體的價格過高,一般配的記憶體不是很多,超過4G的當然就不多了.
現在的服務器,配置超過4G就很多,在配作SQL 數據庫服務器後,很多的人只選默認的設置,
雖然可以正常使用,可是卻把大量的記憶體給浪費(SQL服務使用的記憶體不會超過1.8G),系統的性能也不能因為的大記憶體而提升,這是很可惜的.
在本文中,我大致講一下配置的過程.(如果服務器的記憶體少於4G,不用配置)(網上完全講這個的,沒有見過,隨手寫一個)

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)
您只可以執行這些工作在個別伺服器主控台。若要執行這些工作,您必須登入 Windows 以 SQL Server 所在的電腦上本機系統管理員。
在 [工作列上按一下 [開始],然後按一下 [程式集]。
按一下 [系統管理工具,] 然後選取 [本機安全性原則。
展開 [安全性設定],展開 [本機原則],然後再按一下 [使用者權限指派]。
在右邊的畫面 在記憶體中的鎖定分頁,] 上按一下滑鼠右鍵,然後按一下 [安全性]。
在 [本機安全性原則設定] 對話方塊的方塊中,按一下 [新增]。
按一下以選取 MSSQLSERVER 服務正在執行的帳戶。
按一下 [確定]。
對於 Microsoft Windows 2000 Server,在 [命令] 視窗中鍵入 Secedit /refreshpolicy machine_policy / 強制。
對於 Microsoft Windows Server 2003 在 [命令] 視窗中,輸入 GPUpdate/force。
重新啟動 SQL Server 服務。


3.啟用SQL的AWE
若要啟用 AWE,請將 awe enabled 設置為 1。除非指定了 max server memory 的值,否則 SQL Server 將保留幾乎所有可用記憶體,只留下 128 MB 或更少。
如果已成功啟用該選項,則當 SQL Server 2000 實例啟動時,SQL Server 錯誤日誌中將出現"已啟用地址窗口擴展"這條消息。
awe enabled 是高級選項。如果正在使用 sp_configure 系統存儲過程更改該設置,則只有當 show advanced options 設置為 1 時才能更改 awe enabled。
code 如下,設定SQL 使用6G的記憶體
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

沒有留言:

張貼留言