在 HP DL-380 G6 的設備上安裝了 Windows Server 2008 R2 後,再安裝 SQL Server 2008 R2 Stardand ,在檢查“安裝程式支援規則”時出現 『效能計數器登錄區一致性』失敗,而這個異常則會造成SQL Server 無法繼續往下安裝
上述的英文說明為
Rule "Performance counter registry hive consistency check" failed.
而且訊息中引導你去看Microsoft 的知識庫
KB300956:如何手動重建效能計數器程式庫值
http://support.microsoft.com/kb/300956
http://support.microsoft.com/kb/300956/en-us
找了網路上有很多人都遇到了這個問題,而大部份都是以手動修改登錄機碼方式來處理。
但它真的不是好方法
最後終於找到問題點了
原來是使用HP SmartStart CD安裝Windows Server 2008 R2所造成的,使用SmartStart CD來安裝時會將“非 Unicode 程式目前使用的語言”設成“英文(美國)”
而在登錄機碼值中的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\ 中的0404 會是空的
僅有 009 會有資料
此時只要將“控制台”-->“地區以及語言”-->“系統管理”-->“非 Unicode 程式目前使用的語言”設成“中文(繁體,台灣)”,重新開機後上述的登錄機碼值(0404)會被填入資料
此時即可正常的安裝 SQL Server 2008 R2
這個異常應是使用HP SmartStart CD安裝時,SmartStart的能選的語系並沒有繁體中文,所以當使用中文的OS安裝光碟安裝後,可能因語系轉換的部份機制出了問題,而造成“非 Unicode 程式目前使用的語言”被設成“英文(美國)”
問題終於被解決,而且不用手動修改
另外,使用的 HP SmartStart CD 的版本為 x64 8.30