今天安裝SQL Server 2005。開始系統里面已經安裝了SQL Server 2000,安裝后怎么看數據庫版本還是8.0版本的?只好重新安裝,先卸載了SQL Server 2000然后再安裝SQL Server 2005卻發現了一個錯誤“如何在SQL Server 2005中為安裝程序增加計數器注冊表項值”,可能是注冊變里面因為保留了以前的東西使得SQL Server 2005的注冊表不對了。
那么俺只好手動修改了,google了一下發現了好多基本相同的文檔,但是根據俺自身的實際操作經驗再來敘述一下:
在 SQL Server 安裝開始前,Microsoft SQL Server 安裝程序中的安裝配置檢查器 (SCC) 會驗證計數器注冊表項的值。如果 SCC 無法驗證現有的注冊表項,或 SCC 無法運行 lodctr.exe 系統程序,則 SCC 檢查會失敗,致使安裝受阻。
錯誤編輯注冊表會嚴重損壞您的系統。更改注冊表項之前,建議您備份計算機中的所有重要數據。
1、在 Microsoft Windows 2003 或 Windows XP 桌面上,依次單擊“開始”、“運行”,然后在“打開”中鍵入 regedit.exe,再單擊“確定”。在 Windows 2000 中,使用 regedt32.exe 啟動注冊表編輯器。
2、定位到以下注冊表項:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
找到里面的Last Counter和LastHelp,注意Last Counter和Last Help值是由 Windows 動態分配的;這兩個值會因計算機的不同而不同。我的分別是6760和6761。
3、上一步的“Last Counter”值 (6760) 必須與以下注冊表項中“Perflib\004”的“Counter”項的最大值匹配,并且上一步的“Last Help”值 (6761) 必須與以下注冊表項中“Perflib\004”的“Help”項的最大值匹配。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]
注意 004 是簡體中文中的一個示例,如果你安裝的是英文版,對應的應該是:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
這里應該說明一下。因為當時我就不知道如何對應起來。
比如說:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004中的Help,雙擊后打開編輯框,里面是:
3
System performance object 包含應用于計算機上不止一個組件處理器范例的計數器。
5
Memory performance object
...
中間的都省略掉了
...
6785
寫入所有數據源中的 BLOB 字節總數。
6787
在整個管道中使用的 BLOB 假脫機文件數。
這個最后一個數值6787就應該對應Perflib中Last Help的十進制數值。當然修改的時候別忘了選擇十進制。
6、關閉注冊表編輯器
7、再次運行 SQL Server 安裝程序就應該沒問題了。