安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法[转]

今天在安装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

   一般情况下第一种方法就可以解决问题,第一种方法中更改的值只需比当前的值大就可以,没有限制。第二种方法是备用方法。
这里说明,我用第一种方法,发现到第三步的时候都是对的。到第四步更改的时候不知道“Base = "Decimal"”在哪里,所以就采用了第二个方法。该方法一用就好用了,建议写成可执行程序的文件,到现场安装的时候用。依我看,sql2005没有sql2000友好。也许是用惯了2000。

转载于:https://www.cnblogs.com/zhengyunjia/archive/2009/07/21/1528139.html

解决办法就是重新生成性能计数器库值,具体如下: 1)从Window XP 或 Windows 2003 光盘中提出"PERFC009.DA_文件"PERFH009.DA_"文件,通常它们位于光盘的 \i386 目录中,然后进入cdm,键入下面的命令分别展开它们: expand perfc009.da_ expand perfh009.da_ 然后把展开出来的 perfc009.dat 和 perfh009.dat 替换 windows\system32\ 下的同名文件。    展开方式如下:    2)启动注册表编辑器,然后在注册表中查找以下项: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib 将"LastCounter"值更改为 1846(十进制),并将"LastHelp"值更改为 1847(十进制)。    3)继续找到以下注册表项 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 如果存在 Performance 子项,则删除以下值: ? FirstCounter ? FirstHelp ? LastCounter ? LastHelp    4)打开cmd, 键入 cd %Systemroot%\System32 findstr drivername *.ini 然后按 Enter。 注意列表中每个驱动程序名称所对应的 .ini 文件名。 在命令提示符处,键入下面一行,然后按 Enter: lodctr inifile 其中,inifile 是对应您要重新加载的驱动程序的 .ini 文件名。 例如,如果打算重新加载 ASP 驱动程序,则第 4 步中出现的列表将显示 Axperf.ini 是用于 ASP 驱动程序的 .ini 文件 (axperf.ini:drivername=ASP)。因此,要重新加载 ASP 驱动程序,请在命令提示符处键入 lodctr axperf.ini,然后按 Enter。 下面我以 Windows XP 为例,把执行的步骤写上来,建一个bat文件,复制进去执行就可以了。 lodctr esentprf.ini lodctr mqperf.ini lodctr msdtcprf.ini lodctr perfci.ini lodctr perffilt.ini lodctr perfwci.ini lodctr pschdprf.ini lodctr rasctrs.ini lodctr rsvp.ini lodctr tslabels.ini pause    5)重新启动计算机。 最后还是cmd: cd \windows\system32 lodctr /R 注意:/R 是大写。 这时,已经可以看到性能计数器库值已完成了重新生成。   再来看看sql server 2008的安装,一切正常 细节和需要注意的地方,请参考微软支持(http://support.microsoft.com/kb/300956/zh-cn)   如果出现下面这种情况   退后两步,设置成 就行了   再回去看看 一切正常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值