SQL2005安装出现“性能监视器计数器要求错误”的解决方案

今天在安装SQL Server 2005时,出现“性能监视器计数器要求”错误,因为以前出现过这种错误,得到了解决。今天又又出现这种错误,但并不是很清楚当时的解决办法,所以这次把解决方法记录下来,供自己以后参考,也希望对大家有帮助。

   错误原因

   造成这种错误的原因在于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"”,在“值数据”中设置值,再单击“确定”。如有必要,对另一个项重复以上过程,然后关闭注册表编辑器。

  

      ü  解决办法二

  1. 运行cmd,然后执行

unlodctr w3svc

unlodctr msftpsvc

unlodctr asp

unlodctr inetinfo

  以上是将四个计数器都删除

  2. 以下重新安装计数器

lodctr w3ctrs.ini

lodctr ftpctrs.ini

lodctr axperf.ini

lodctr infoctrs.ini

   一般情况下第一种方法就可以解决问题,第一种方法中更改的值只需比当前的值大就可以,没有限制。第二种方法是备用方法。

posted on 2011-03-31 09:46  Peter Zhang  阅读(280)  评论(0编辑  收藏  举报