SQL SERVER 安裝出現 “效能計數器註冊表登錄區一致性”檢查失敗 的問題

來源:互聯網
上載者:User

在Windows Server 2003 、Windows XP或者Windows 2000中安裝 SQL SERVER 2008 開發版和企業版時,會遇到“效能計數器註冊表登錄區一致性”檢查失敗 的問題(Windows Server 2008 由於暫時沒有環境,尚未測試)

(圖一)

安裝提示錯誤資訊為:

(圖二)

解決方案:

先根據協助提示,開啟 http://support.microsoft.com/kb/300956, 協助的文檔是讓你使用安裝光碟片重設效能計數器檔案,操作步驟比較複雜,可是我並沒有安裝什麼特殊的軟體,而且確定也沒有病毒感染,為什麼效能計數器會損壞 呢,因此決定不到萬不得已暫時不去重設效能計數器,以免擴大問題的影響面。(Microsoft的Help文檔經常是答非所問....)

果然,經翻閱文檔,發現計數器配置資訊儲存在註冊表

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]中

操作步驟:

1. 在 Microsoft Windows 2003 或 Windows XP 案頭上,依次單擊“開始”、“運行”,然後在“開啟”中鍵入 regedit.exe,再單擊“確定”。在 Windows 2000 中,使用 regedt32.exe 啟動登錄編輯程式

2. 定位到以下登錄機碼:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]

"Last Counter"=dword:0000566a(22122)   (這個值根據不同的機器各不相同,不是固定值)
"Last Help"=dword:0000566b(22123)        (這個值根據不同的機器各不相同,不是固定值)

(圖三)

在圖三中我們看到,Perflib下存在兩個子項目

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]

經過比較,發現在兩個子檔案夾項目下面存在的計數器最大值不同

(圖四)Perflib\004中Counter項目的最大值為22178(這個值根據不同的機器各不相同,不是固定值)

(圖五)Perflib\004中Help項目的最大值為22179(這個值根據不同的機器各不相同,不是固定值)

(圖六)Perflib\009中Counter項目的最大值為22122(這個值根據不同的機器各不相同,不是固定值)

(圖七)Perflib\009中Help項目的最大值為22123(這個值根據不同的機器各不相同,不是固定值)

很顯然,,在我的機器上[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]中

"Last Counter"和"Last Help"這兩項的值,和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]中儲存的最大值是相同的,分別為22122和22123(這兩個數值每台電腦各不相同), 而和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]中儲存的最大值不相同,正是由於這個差異,造成了SQL Server 2008 安裝過程中遇到“效能計數器註冊表登錄區一致性”檢查失敗的故障。

原因分析:

由於之前安裝過的Visual Studio 2008英文版中所帶的Visual Studio 2005 Express語言版本是英文版,同時又測試安裝了SQL SERVER 2005 Developer Edition簡體中文開發版,之後又卸載了SQL SERVER 2005 Developer Edition簡體中文開發版,打算安裝SQL SERVER 2008 Developer Edition簡體中文開發辦,由於語言的不一致性以及反覆多次的安裝卸載,估計是安裝程式在卸載的時候的錯誤,造成了註冊表中索引值不一致的現象

問題解決:

知道的故障的起因,問題就很好解決了,由於我們使用的是簡體中文版作業系統,所以要保證

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Counter"和"Last Help"這兩項的值與

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]中"Counter"和"Help"兩項儲存的最大值相同就可以了

如果我們使用的是英文版作業系統,那就要保證

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Counter"和"Last Help"這兩項的值與

[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

要注意的是,修改數位時候,必須選擇基數是 “十進位”(預設是十六進位),否則數字將不匹配,SQL SERVER 2008 安裝程式檢查將再次失敗。

(注意:修改註冊表存在一定風險,可能造成您的系統損壞,請先備份註冊表,以備在出現問題後可以恢複。有關如何備份與還原註冊表,請參考Microsoft 知識庫中相應的主題:[322756]如何備份與還原 Windows 註冊表

測試效果:

然後關閉登錄編輯程式,再次開始安裝 SQL SERVER 2008 Developer Edition簡體中文開發版

(圖十)測試通過,不再出現錯誤,可以正常安裝了

至此,問題徹底解決,而解決方案,只是簡單得修改了兩個註冊表索引值。

總結:

由此可見,在遇到問題時,如果不加思考,完全生搬硬套協助文檔,可能事倍功半,還會引起很多不必要的麻煩,因為協助文檔只是給我們指明了大致的方 向,編寫協助文檔的人也不可能知道我們遇到問題的實際環境,因此協助文檔作為參考是非常有用的,但是遇到問題的時候,我們的實際經驗和動手測試的能力也是 非常重要的,這樣才能少走彎路。

備忘:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]對應c:\windows\system下的8個檔案,如果004和009無法編輯,可從別的電腦直接複製這8個檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.