SQL Server 2005性能计数器错误的解决办法

来源:岁月联盟 编辑:zhuzhu 时间:2009-04-17

SQL Server 2005性能计数器错误的解决办法

查看安装帮助后,发现有这一段话:

1 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedit.exe,再单击“确定”。在 Windows 2000 中,使用 regedt32.exe 启动注册表编辑器。

2 定位到以下注册表项:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib]

"Last Counter"=dword:00000ed4 (5276)

"LastHelp"=dword:00000ed5 (5277)

3 上一步的“Last Counter”值 (5276) 必须与以下注册表项中“Perflib09”的“Counter”项的最大值匹配,并且上一步的“Last Help”值 (5277) 必须与以下注册表项中“Perflib09”的“Help”项的最大值匹配。

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09]

注意 009 是英文中的一个示例。“Last Counter”和“Last Help”值是由 Windows 动态分配的;这两个值会因计算机的不同而不同。

4 如有必要,可修改“Perflib”项中的“Last Counter”和“Last Help”值的值:在右侧窗格中,右键单击“Last Counter”或“Last Help”,单击“修改”,再单击“Base = "Decimal"”,在“值数据”中设置值,再单击“确定”。如有必要,对另一个项重复以上过程,然后关闭注册表编辑器。

5 再次运行 SQL Server 安装程序。

我完全按照以上叙述的步骤修改了注册表,可是始终出现这个问题。后来经过分析,发现原因有两个,即注册表值中的数字与实际数字不符合,还有就是根本不应该修改009这个注册表项中的值。因为我们使用的大多数是简体中文系统。所以修改方式如下:

首先打开 “控制面板” --> “管理工具” 后,双击 “性能”,显示出性能分析器界面,在右边的控制台节点中展开 “性能日志和警报”后,用鼠标选择 “性能计数器”。

然后双击右边窗口的 “System Overview”,显示 System Overview 属性窗口。

SQL Server 2005性能计数器错误的解决办法

在窗口中的 “添加对象” 和 “添加计数器” 按钮分别单击一次,但单击后显示的窗口不要去动,直接选择取消。

分别单击两个按钮后,单击缺定关闭 System Overview 属性窗口,然后关闭性能窗口。

然后在 “开始” -->  “运行”中输入 regedit,开启注册表编辑器。

定位到[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib

处,在右边的树形目录下可以看到Perflib目录下有004和009两个子目录。

在SQL Server 2005 的安装帮助文件中说的是需要查看009目录的注册表项,而我们大部分人使用的是简体中文的操作系统,所以不能按帮助中说的,而是需要注意004目录中的内容。

打开004 目录中的内容,可以看到如下图:

SQL Server 2005性能计数器错误的解决办法

我们分别双击 “Counter” 项 和 “Help” 项,察看其中的最后的数字,如下图:

Counter 项的内容:

SQL Server 2005性能计数器错误的解决办法

Helper 项内容

SQL Server 2005性能计数器错误的解决办法

这时候,我们知道,Counter 项的数字是5556,Helper项的内容是5557。

然后,操作注册表编辑器的左边的目录树,定位到Perflib目录下,并注意检查右边窗口的 “Laster Counter”项和“Laster Help”项的值,并把Laster Counter的值改成刚才记录下的Counter值5556,把Laster Help 的值改成刚才记下的 Help的值5557。

要注意的是,修改数字的时候,输入的时候必须选则基数是 “十进制”,否则数字将不匹配,SQL Server 2005 检查将再次失败。

然后关闭注册表编辑器,开始安装SQL Server 2005 ,绝对可以安装成功。

注意

我上面说的5556和5557的数字,每个人每台计算机的数字都是不同的,所以必须要一步步来,检查出准确的数字填入,而不是直接看到5556/5557填写,这样还不行的。