在Windows Server 2003 ,、Windows XP或者Windows 2000中安裝 SQL SERVER 2008 開發(fā)版和企業(yè)版時(shí),會(huì)遇到“性能計(jì)數(shù)器注冊(cè)表配置單元一致性”檢查失敗 的問題(Windows Server 2008 由于暫時(shí)沒有環(huán)境,,尚未測(cè)試)
(圖一) 安裝提示錯(cuò)誤信息為: (圖二) 解決方法: 先根據(jù)幫助提示,,打開 http://support.microsoft.com/kb/300956,幫助的文檔是讓你使用安裝光盤重置性能計(jì)數(shù)器文件,,操作步驟比較復(fù)雜,,可是我并沒有安裝什么特殊的軟件,而且確定也沒有病毒感染,,為什么性能計(jì)數(shù)器會(huì)損壞呢,,因此決定不到萬(wàn)不得已暫時(shí)不去重置性能計(jì)數(shù)器,以免擴(kuò)大問題的影響面,。(Microsoft的Help文檔經(jīng)常是答非所問....)
果然,,經(jīng)翻閱文檔,發(fā)現(xiàn)計(jì)數(shù)器配置信息保存在注冊(cè)表 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]中 操作步驟: 1. 在 Microsoft Windows 2003 或 Windows XP 桌面上,,依次單擊“開始”,、“運(yùn)行”,然后在“打開”中鍵入 regedit.exe,,再單擊“確定”,。在 Windows 2000 中,使用 regedt32.exe 啟動(dòng)注冊(cè)表編輯器
2. 定位到以下注冊(cè)表項(xiàng): [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] "Last Counter"=dword:0000566a(22122) (這個(gè)值根據(jù)不同的機(jī)器各不相同,,不是固定值) (圖三) 在圖三中我們看到,Perflib下存在兩個(gè)子項(xiàng)目 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009] 經(jīng)過比較,,發(fā)現(xiàn)在兩個(gè)子文件夾項(xiàng)目下面存在的計(jì)數(shù)器最大值不同 (圖四)Perflib\004中Counter項(xiàng)目的最大值為22178(這個(gè)值根據(jù)不同的機(jī)器各不相同,,不是固定值)
(圖五)Perflib\004中Help項(xiàng)目的最大值為22179(這個(gè)值根據(jù)不同的機(jī)器各不相同,不是固定值)
(圖六)Perflib\009中Counter項(xiàng)目的最大值為22122(這個(gè)值根據(jù)不同的機(jī)器各不相同,,不是固定值)
(圖七)Perflib\009中Help項(xiàng)目的最大值為22123(這個(gè)值根據(jù)不同的機(jī)器各不相同,,不是固定值)
很顯然,如圖所示,,在我的機(jī)器上[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]中 "Last Counter"和"Last Help"這兩項(xiàng)的值,和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]中保存的最大值是相同的,分別為22122和22123(這兩個(gè)數(shù)值每臺(tái)電腦各不相同),,而和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]中保存的最大值不相同,,正是由于這個(gè)差異,造成了SQL Server 2008 安裝過程中遇到“性能計(jì)數(shù)器注冊(cè)表配置單元一致性”檢查失敗的故障,。
原因分析: 由于之前安裝過的Visual Studio 2008英文版中所帶的Visual Studio 2005 Express語(yǔ)言版本是英文版,,同時(shí)又測(cè)試安裝了SQL SERVER 2005 Developer Edition簡(jiǎn)體中文開發(fā)版,之后又卸載了SQL SERVER 2005 Developer Edition簡(jiǎn)體中文開發(fā)版,,打算安裝SQL SERVER 2008 Developer Edition簡(jiǎn)體中文開發(fā)辦,,由于語(yǔ)言的不一致性以及反復(fù)多次的安裝卸載,估計(jì)是安裝程序在卸載的時(shí)候的錯(cuò)誤,,造成了注冊(cè)表中鍵值不一致的現(xiàn)象
問題解決: 知道的故障的起因,,問題就很好解決了,由于我們使用的是簡(jiǎn)體中文版操作系統(tǒng),,所以要保證 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Counter"和"Last Help"這兩項(xiàng)的值與 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]中"Counter"和"Help"兩項(xiàng)保存的最大值相同就可以了 如果我們使用的是英文版操作系統(tǒng),,那就要保證 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Counter"和"Last Help"這兩項(xiàng)的值與 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]中保存的最大值相同就可以了 (圖八) 修改[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Counter"的值,使它和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004] 中"Counter"的最大值保持一致,,我們這里是改為22178
(圖九) 修改[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Help"的值,,使它和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004] 中"Help"的最大值保持一致,我們這里是改為22179 要注意的是,,修改數(shù)字的時(shí)候,,必須選擇基數(shù)是 “十進(jìn)制”(默認(rèn)是十六進(jìn)制),否則數(shù)字將不匹配,,SQL SERVER 2008 安裝程序檢查將再次失敗,。 (注意:修改注冊(cè)表存在一定風(fēng)險(xiǎn),可能造成您的系統(tǒng)損壞,,請(qǐng)先備份注冊(cè)表,,以備在出現(xiàn)問題后可以恢復(fù)。有關(guān)如何備份和還原注冊(cè)表,,請(qǐng)參考Microsoft 知識(shí)庫(kù)中相應(yīng)的主題:[322756]如何備份和還原 Windows 注冊(cè)表)
測(cè)試效果: 然后關(guān)閉注冊(cè)表編輯器,,再次開始安裝 SQL SERVER 2008 Developer Edition簡(jiǎn)體中文開發(fā)版 (圖十)測(cè)試通過,不再出現(xiàn)錯(cuò)誤,,可以正常安裝了
至此,,問題徹底解決,而解決方法,,只是簡(jiǎn)單得修改了兩個(gè)注冊(cè)表鍵值,。 總結(jié): 由此可見,在遇到問題時(shí),,如果不加思考,,完全生搬硬套幫助文檔,,可能事倍功半,還會(huì)引起很多不必要的麻煩,,因?yàn)閹椭臋n只是給我們指明了大致的方向,,編寫幫助文檔的人也不可能知道我們遇到問題的實(shí)際環(huán)境,因此幫助文檔作為參考是非常有用的,,但是遇到問題的時(shí)候,,我們的實(shí)際經(jīng)驗(yàn)和動(dòng)手測(cè)試的能力也是非常重要的,這樣才能少走彎路,。 |
|