SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

时间:2022-06-22 00:30:35

操作步骤:

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)        (这个值根据不同的机器各不相同,不是固定值)

SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

(图三)

在图三中我们看到,Perflib下存在两个子项目

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Perflib/004]

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Perflib/009]

经过比较,发现在两个子文件夹项目下面存在的计数器最大值不同

SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

(图四)Perflib/004中Counter项目的最大值为22178(这个值根据不同的机器各不相同,不是固定值)

SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

(图五)Perflib/004中Help项目的最大值为22179(这个值根据不同的机器各不相同,不是固定值)

SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

(图六)Perflib/009中Counter项目的最大值为22122(这个值根据不同的机器各不相同,不是固定值)

SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

(图七)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]中保存的最大值相同就可以了

SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

(图八)

修改[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows
NT/CurrentVersion/Perflib] 中"Last
Counter"的值,使它和[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows
NT/CurrentVersion/Perflib/004] 中"Counter"的最大值保持一致,我们这里是改为22178

SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

(图九)

修改[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简体中文开发版

SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

(图十)测试通过,不再出现错误,可以正常安装了