sqlserver2008安装异常问题
SQL 2008 安装遇到规则“性能计数器注册表配置单元一致性”失败时间:2010-11-09 08:35来源:网络 作者:秩名 点击: 198 次在Windows Server 2003 、Windows XP或者Windows 2000中安装 SQL SERVER 2008 开发版和企业版时,会遇到性能计数器注册表配置单元一致性检查失败 的问题(Windows Server 2008 由于暂时没有环境,尚未测试) (图一) 安装提示错误信息为: (图二) 解决方法-在Windows Server 2003 、Windows XP或者Windows 2000中安装 SQL SERVER 2008 开发版和企业版时,会遇到“性能计数器注册表配置单元一致性”检查失败 的问题(Windows Server 2008 由于暂时没有环境,尚未测试)(图一)安装提示错误信息为(图二)解决方法:先根据帮助提示,打开 http://support.microsoft.com/kb/300956, 帮助的文档是让你使用安装光盘重置性能计数器文件,操作步骤比较复杂,可是我并没有安装什么特殊的软件,而且确定也没有病毒感染,为什么性能计数器会损坏 呢,因此决定不到万不得已暂时不去重置性能计数器,以免扩大问题的影响面。(Microsoft的Help文档经常是答非所问....)果然,经翻阅文档,发现计数器配置信息保存在注册表[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib]中操作步骤:1. 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedit.exe,再单击“确定”。在 Windows 2000 中,使用 regedt32.exe 启动注册表编辑器2. 定位到以下注册表项:[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib]"Last Counter"=dword:0000566a(22122) ? (这个值根据不同的机器各不相同,不是固定值)"Last Help"=dword:0000566b(22123) ? ? ? ?(这个值根据不同的机器各不相同,不是固定值)(图三)在图三中我们看到,Perflib下存在两个子项目[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 04][HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 09]经过比较,发现在两个子文件夹项目下面存在的计数器最大值不同(图四)Perflib 04中Counter项目的最大值为22178(这个值根据不同的机器各不相同,不是固定值)(图五)Perflib 04中Help项目的最大值为22179(这个值根据不同的机器各不相同,不是固定值)(图六)Perflib 09中Counter项目的最大值为22122(这个值根据不同的机器各不相同,不是固定值)(图七)Perflib 09中Help项目的最大值为22123(这个值根据不同的机器各不相同,不是固定值)很显然,如图所示,在我的机器上[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib]中"Last Counter"和"Last Help"这两项的值,和[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 09]中保存的最大值是相同的,分别为22122和22123(这两个数值每台电脑各不相同), 而和[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 04]中保存的最大值不相同,正是由于这个差异,造成了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_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib] 中"Last Counter"和"Last Help"这两项的值与[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 04]中"Counter"和"Help"两项保存的最大值相同就可以了如果我们使用的是英文版操作系统,那就要保证[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib] 中"Last Counter"和"Last Help"这两项的值与[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 09]中保存的最大值相同就可以了(图八)修改[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib] 中"Last Counter"的值,使它和[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 04] 中"Counter"的最大值保持一致,我们这里是改为22178(图九)修 改[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib] 中"Last Help"的值,使它和[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 04] 中"Help"的最大值保持一致,我们这里是改为22179要注意的是,修改数字的时候,必须选择基数是 “十进制”(默认是十六进制),否则数字将不匹配,SQL SERVER 2008 安装程序检查将再次失败。(注意:修改注册表存在一定风险,可能造成您的系统损坏,请先备份注册表,以备在出现问题后可以恢复。有关如何备份和还原注册表,请参考Microsoft 知识库中相应的主题:[322756]如何备份和还原 Windows 注册表)测试效果:然后关闭注册表编辑器,再次开始安装 SQL SERVER 2008 Developer Edition简体中文开发版(图十)测试通过,不再出现错误,可以正常安装了至此,问题彻底解决,而解决方法,只是简单得修改了两个注册表键值。总结:由此可见,在遇到问题时,如果不加思考,完全生搬硬套帮助文档,可能事倍功半,还会引起很多不必要的麻烦,因为帮助文档只是给我们指明了大致的方 向,编写帮助文档的人也不可能知道我们遇到问题的实际环境,因此帮助文档作为参考是非常有用的,但是遇到问题的时候,我们的实际经验和动手测试的能力也是 非常重要的,这样才能少走弯路。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – System Center Service Manager 2012的SQL S
- SQL Server Alwayson创建代理作业的注意事项详解
- SQLServer之创建唯一非聚集索引
- sql-server – 日志发送:为什么选择无恢复模式?
- EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表
- 使用SQL Server 2008远程链接时SQL数据库不成功的解决方法
- sql – gorp更新不更新
- SQL Server 批量插入数据的两种方法
- linq-to-sql – LinqToSql最佳实践
- Win2003+IIS6.0+php5.2.2+MySQL 5.0.41+ZendOptimizer 3.2.