今天在安装SQL Server 2005(开发版)时(问题的源头是:原来安装的SQL Server 2005 express版本,在安装Vs2010后,因Vs2010中自带的Sql2008也是express版本,导致Sql2005的实例被默认覆盖,即Sql2005的服务消失,只能想办法安装Sql2005的开发版),出现“性能监视器计数器要求”错误,从网上找了一些解决方法,试过,后终于解决,现将解决方法和找到的资料汇总,供自己以后参考,也希望对大家有帮助。
(我)解决的方法:
1. 运行cmd,然后执行unlodctr w3svc
unlodctr msftpsvc
unlodctr asp
unlodctr inetinfo
以上是将四个计数器都删除
2. 以下重新安装计数器
lodctr w3ctrs.ini
lodctr ftpctrs.ini
lodctr axperf.ini
lodctr infoctrs.ini
——此方法简单,操作后,重新运行安装程序即可!
其它方法:
出现此类问题一般都是在非法卸载sql2005出现的
在 “开始” --> “运行”中输入 regedit,开启注册表编辑器。
定位到
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
处,在右边的树形目录下可以看到Perflib目录下有004和009两个子目录。
在Sql Server 2005 的安装帮助文件中说的是需要查看009目录的注册表项,而我们大部分人使用的是简体中文的操作系统,所以不能按帮助中说的,而是需要注意004目录中的内容。
打开004 目录中的内容,可以看到如下图:
我们分别双击 “Counter” 项 和 “Help” 项,察看其中的最后的数字,如下图:
Counter 项的内容:
Helper 项内容
这时候,我们知道,Counter 项的数字是5556,Helper项的内容是5557。
然后,操作注册表编辑器的左边的目录树,定位到Perflib目录下,并注意检查右边窗口的 “Laster Counter”项和“Laster Help”项的值,并把Laster Counter的值改成刚才记录下的Counter值5556,把Laster Help 的值改成刚才记下的 Help的值5557。
要注意的是,修改数字的时候,输入的时候必须选则基数是 “十进制”,否则数字将不匹配,Sql Server 2005 检查将再次失败。
然后关闭注册表编辑器,开始安装 Sql Server 2005 ,绝对可以安装成功。
注:装中文版SQL:Last Counter 值必须等于注册表项中 Perflib\004 的 Counter 项的最大值;
Last Help 值必须等于注册表项中 Perflib\004 的 Help 项的最大值;
装英文版SQL:Last Counter 值必须等于注册表项中 Perflib\009 的 Counter 项的最大值;
Last Help 值必须等于以下注册表项中 Perflib\009 的 Help 项的最大值。