系統環境:windows 2003 enp sp2(32bit,自動更新、補丁齊),原12G內存,現48G內存,系統能識別全部內存,未加pae參數。原12G內存時,測試過不管是否加pae參 數,都可以識別12G內存,經查可能是因為內存支持熱插拔時不需要加pae參數。sql server developer sp4(32bit,8.00.2282)
原12G內存時,設置max server memory (MB) 為11G,“sql server:內存管理器”可以看到“目標服務器內存”、“總服務器內存”都為11G。加到48G內存后,設置全部自動使用,組策略里已設置有內存鎖定權限。重啟服務器,則sql server無法啟動。系統日志里提示:
事件ID:17055,描述:17138: 未能為初始化“ReadOnly memory object”分配足夠的內存。
修改max server memory 為15G,則sql server可以正常啟動。未重啟的情況下,再修改max server memory (MB) 為31G,sp_configure顯示正常設置成功,但是“sql server:內存管理器”看到“目標服務器內存”、“總服務器內存”都為同樣的15G,沒有增加到31G。
在此測試機上再安裝sql server 2008 R2 enp sp1(32bit)新實例,修改max server memory為10G和31G,則此實例的Total Server Memory和Target Server Memory顯示不同,Target Server Memory能隨max server memory 的修改而正確變動為10G和31G。
網上各種搜,MSDN各種搜,bing各種搜,MSDN論壇也問了,沒有實實在在的解釋。只有TechNet某處提到要windows 2003 Datacenter才能讓SQL Server 2000到64G,否則SQL 2000 Enp只能32G。SQL Server Enp版和Dev版各項指標是一樣的。
最終重啟一次SQL Server 2000的服務,就正常看到“目標服務器內存”和“總服務器內存”都為31G了~看來確實企業版情況下SQL Server 2000只能配置30-31G了,用了一會兒,緩存命中率99%。
后期還是要逐步遷移部分業務到SQL Server 2008 R2上,這樣才能物盡其用。
還有一個小插曲,CPU是X5570 2.9G*2(4核8線程,共16個邏輯CPU),原來用的UDIMM最大只能24G,之前配置的12G就是UDIMM,買內存的人先買錯了,買了4G*6的UDIMM,全加裝上后就啟動不了。只能全部撤下並退貨,換買RDIMM 8G×6,系統最大96G看來不能用到了,除非系統換windows Server 2008。但是換上新內存后,電源又告警,說系統負載超過電源容量,直接把CPU降頻到1.6G了,我勒個去~~懷疑真能插滿96G內存不~~直接買了大容量冗余電源,原來兩個又只好閑置了。硬盤已經插滿8塊,RAID 10,看來以后只能申請換SSD才能提高性能了。
知道有人要問,先回答了:
掃了一下雷,速度飛快~~哈哈~~