造成这种错误的原因在于Microsoft SQL Server 安装程序中的安装配置检查器 (SCC)在安装SQL Server前会验证计数器注册表项的值。如果 SCC 无法验证现有的注册表项,或 SCC 无法运行 lodctr.exe 系统程序,则 SCC 检查会失败,致使安装受阻。
解决办法(手动设置计数器注册表项的增量)
1. 在Windows Server 2003或者Windows Xp中,依次单击“开始”,“运行”,然后在“打开”中输入“regedit”单击“确定”打开注册表,在Windows 2000中输入“regedt32”打开注册表。
2. 定位到注册表项:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionPerflib]
"Last Counter"=dword:00000ed4 (5276)
"LastHelp"=dword:00000ed5 (5277)
3. 第2步中的“Last Counter”值 (5276) 必须与以下注册表项中“Perflib09”的“Counter”项的最大值匹配,并且第2步中的“Last Help”值 (5277) 必须与以下注册表项中“Perflib09”的“Help”项的最大值匹配。(注意:Perflib中有两个子项004和009,004代表中文,009代表英文。)
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09]
“Last Counter”和“Last Help”值是由 Windows 动态分配的;这两个值会因计算机的不同而不同。
4. 如果完成第3步还无法安装的话,可修改“Perflib”项中的“Last Counter”和“Last Help”值的值。右键单击“Last Counter”或“Last Help”,单击“修改”,再单击“Base = "Decimal"”,在“值数据”中设置值,再单击“确定”。如有必要,对另一个项重复以上过程,然后关闭注册表编辑器。
注:
装中文版SQL:Last Counter 值必须等于注册表项中 Perflib/004 的 Counter 项的最大值;
Last Help 值必须等于注册表项中 Perflib/004 的 Help 项的最大值;
装英文版SQL:Last Counter 值必须等于注册表项中 Perflib/009 的 Counter 项的最大值;
Last Help 值必须等于以下注册表项中 Perflib/009 的 Help 项的最大值。