一、问题描述:
在Windows Server 2003 、Windows XP或者Windows 2000中安装 SQL SERVER 2008 开发版和企业版时,会遇到“性能计数器注册表配置单元一致性”检查失败 的问题
(图一)
安装提示错误信息为:
(图二)
二、解决方法:
先根据帮助提示,打开 http://support.microsoft.com/kb/300956, 帮助的文档是让你使用安装光盘重置性能计数器文件,操作步骤比较复杂,可是我并没有安装什么特殊的软件,而且确定也没有病毒感染,为什么性能计数器会损坏 呢,因此决定不到万不得已暂时不去重置性能计数器,以免扩大问题的影响面。(Microsoft的Help文档经常是答非所问....)
果然,经翻阅文档,发现计数器配置信息保存在注册表
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]中
操作步骤:
1.打开注册表
在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedit.exe,再单击“确定”。在 Windows 2000 中,使用 regedt32.exe 启动注册表编辑器
2. 定位注册表项
定位到如下注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:0000566a(22122) (这个值根据不同的机器各不相同,不是固定值)
"Last Help"=dword:0000566b(22123) (这个值根据不同的机器各不相同,不是固定值)
(图三)
在图三中我们看到,Perflib下存在两个子项目
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
经过比较,发现在两个子文件夹项目下面存在的计数器最大值不同
(图四)Perflib\004中Counter项目的最大值为22178(这个值根据不同的机器各不相同,不是固定值)
(图五)
Perflib\004中Help项目的最大值为22179(这个值根据不同的机器各不相同,不是固定值)
(图六)Perflib\009中Counter项目的最大值为22122(这个值根据不同的机器各不相同,不是固定值)
(图七)Perflib\009中Help项目的最大值为22123(这个值根据不同的机器各不相同,不是固定值)
很显然,如图所示,在我的机器上[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]中
"Last Counter"和"Last Help"这两项的值,和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]中保存的最大值是相同的,分别为22122和22123(这两个数值每台电脑各不相同), 而和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]中保存的最大值不相同,正是由于这个差异,造成了SQL
Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败的故障。
原因分析:
由于之前安装过的Visual Studio 2008英文版中所带的Visual Studio 2005 Express语言版本是英文版,同时又测试安装了SQL SERVER 2005 Developer Edition简体中文开发版,之后又卸载了SQL SERVER 2005 Developer Edition简体中文开发版,打算安装SQL SERVER 2008 Developer Edition简体中文开发办,由于语言的不一致性以及反复多次的安装卸载,估计是安装程序在卸载的时候的错误,造成了注册表中键值不一致的现象
问题解决:
知道的故障的起因,问题就很好解决了,由于我们使用的是简体中文版操作系统,所以要保证
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Counter"和"Last Help"这两项的值与
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]中"Counter"和"Help"两项保存的最大值相同就可以了
如果我们使用的是英文版操作系统,那就要保证
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Counter"和"Last Help"这两项的值与
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]中保存的最大值相同就可以了
(图八)
3、修改注册表项
修改[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Counter"的值,使它和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004] 中"Counter"的最大值保持一致,我们这里是改为22178
(图九)
修 改[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib] 中"Last Help"的值,使它和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004] 中"Help"的最大值保持一致,我们这里是改为22179
要注意的是,修改数字的时候,必须选择基数是 “十进制”(默认是十六进制),否则数字将不匹配,SQL SERVER 2008 安装程序检查将再次失败。
(注意:修改注册表存在一定风险,可能造成您的系统损坏,请先备份注册表,以备在出现问题后可以恢复。有关如何备份和还原注册表,请参考Microsoft 知识库中相应的主题:[322756]如何备份和还原 Windows 注册表)
测试效果:
然后关闭注册表编辑器,再次开始安装 SQL SERVER 2008 Developer Edition简体中文开发版
(图十)测试通过,不再出现错误,可以正常安装了
至此,问题彻底解决,而解决方法,只是简单得修改了两个注册表键值。
总结:由此可见,在遇到问题时,如果不加思考,完全生搬硬套帮助文档,可能事倍功半,还会引起很多不必要的麻烦,因为帮助文档只是给我们指明了大致的方 向,编写帮助文档的人也不可能知道我们遇到问题的实际环境,因此帮助文档作为参考是非常有用的,但是遇到问题的时候,我们的实际经验和动手测试的能力也是 非常重要的,这样才能少走弯路。
4、重新添加可扩展计数器
假如按照上述步骤进行操作,该问题仍然存在的话,就进行“重新添加可扩展计数器”操作,在xp系统中的操作操作步骤如下:
a、查找到系统中对应的“可扩展计数器”文件:
C:\WINDOWS\system32\perfc009.dat
b、使用cmd命令行操作,重新加载该文件。
新建一个cmd命令行窗口,开始菜单-->运行 >输入cmd>打开cmd命令窗口
在cmd窗口中输入相关命令,将工作目录切换到perfc009.dat文件所在目录,命令为cdC:\WINDOWS\system32
重新加载perfc009.dat文件,命令为Lodctr /r:perfc009.dat
具体的相关操作可见微软官网操作文档:
http://support.microsoft.com/kb/300956
分享到:
相关推荐
解决安装SQL Server 2008时报“性能计数器注册表配置单元一致性”错误
在繁体WIN7(X86或X64)下安装sql server 2008繁体“出现性能计数器注册表配置单元一致性”失败的解决办法,在网上找了很久,都没有关于WIN7环境下安装SQL SERVER 2008,出现错误的解决方法!反而关于在XP系统或win 2003...
再来看看sql server 2008的安装,一切正常 细节和需要注意的地方,请参考微软支持(http://support.microsoft.com/kb/300956/zh-cn) 如果出现下面这种情况 退后两步,设置成 就行了 再回去看看 ...
SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法
安装sql2008时,注册表项一致性验证失败的处理方法。
解决win7下SQL2008性能计数器注册表配置单元不一致。有图有真相。
还是那句话 骗人没jj 下过我的资源的人都知道 网上的有太繁琐 所以自己简单整合了下 打包成命令文件 方案:下了这个后里面有两个ss1.cmd 和ss.cmd两个文件 依次双击运行就可以啦 记得按...就省得去改 注册表的麻烦啦
如何在SQL_Server_2005中为安装程序增加计数器注册表项值
修改注册表值!能够安装SQL Server 2005程序
十分好用的sql server profiler 事件跟踪器
连接SQL SERVER 2005/2008失败——解决方案
文档记录了我遇到这个问题的解决过程。希望对大家有帮助!之前系统自动把分数提高了,本次修改了一下,把分数降到了5分。
安装SQL server2005 时,还会碰到性能监视器计数器要求 (错误),这时只要对电脑操作系统性能计数器修复即可。
SQL Server2005安装性能计数器出现错误
SQLServer2005 性能计数器要求安装错误的解决办法
卸载了之前的sqlserver版本重新安装后可能会出现这样的问题,阻碍进一步的安装。我之前就遇到了,搞了好久,最后在百度上搜集了半天终于搞定~
本人目前在做Java开发 在网上下载了好几个jdbc驱动,问题很多 现在对jdbc驱动进行总结: sqlserver2005/sqlserver2008 jdbc驱动 希望对有这方面需求的人提供帮助。
Xampp1.7 链SQLServer2005/SQLServer2008,配置与测试; 扩展库 sqlserver driver for php
SQL2005性能优化大全,sqlserver性能优化,包括:什么叫做索引、利用索引优化sqlserver查询、使用数据库分区表提高程序检索效率、提高数据库查询效率的实用方法、SQL数据进行排序、分组、统计技巧;SQL Server查询...
sql server 2005/2008 自动联想表名字段名工具,超实用小工具。