问题:
在事件查看器的应用程序中看到如下图的提示,具体描述:
1、性能注册表的 LastCounter 和 LastHelp 值不正确,需要更新。 数据段中的第一个和第二个 DWORDs 是原始值, 第三个和第四个 DWORDs 是经过更新的新值。
2、注册表中性能计数器名称字符串数值的格式不正确。 不正确的字符串是 1848,不正确的索引值是数据节中的第一个 DWORD 值,最后的有效索引值是数据节中的第二个和第三个 DWORD 值。
解决:
此错误是由于处理计数器列表时发生了一个竞争问题。当LoadPerf.dll读取了最后计数器的索引值的
同时又有其他计数器被添加,于是新的计数器的索引值比最后计数器的索引值还大,因而LoadPerf.dll认为计数器数值不正确而记录下次事件日志。因为LoadPerf.dll在遇到此错误后会进行重试并成功读取新的计数器,所以这个错误在重试之后不会造成使用上的影响。可以通过手动重新生成性能计数器库值的方法排除错误日志的提示。
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。
1、在 Windows XP 光盘上,文件夹\i386\目录下找到perfc009.da_ 和perfh009.da_两个文件,在命令行模式下用EXPAND 命令展开这两个文件为“Perfc009.dat”和“Perfh009.dat”,替换 %Systemroot%\System32 文件夹中的文件。
2、启动注册表编辑器,然后在注册表中查找以下项: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib在注册表中,将“LastCounter”值更改为 1846(十进制),并将“LastHelp”值更改为 1847(十进制)。
3、查找以下注册表项,以搜索具有 Performance 子项的服务: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services从 Performance 子项(如果存在)删除以下值:
FirstCounter
FirstHelp
LastCounter
LastHelp
(切记:不能删除Performance 子项)
4、重新添加性能计数器值。
打开一个命令提示符窗口
在命令提示符处,键入 cd\windows\System32,然后按 Enter。
在命令提示符处,键入 findstr drivername *.ini,然后按 Enter。
例如:
C:\WINDOWS\system32>findstr drivername *.ini
esentprf.ini:drivername=ESENT
mqperf.ini:drivername=MSMQ
msdtcprf.ini:drivername=MSDTC
perfci.ini:drivername=ContentIndex
perffilt.ini:drivername=ContentFilter
perfwci.ini:drivername=ISAPISearch
pschdprf.ini:drivername=PSched
rasctrs.ini:drivername=RemoteAccess
rsvp.ini:drivername=RSVP
tslabels.ini:drivername=TermService
注意列表中每个驱动程序名称所对应的 .ini 文件名。
在命令提示符处,键入lodctr inifile,然后按 Enter。 其中inifile 是对应您要重新加载的驱动程序的 .ini 文件名。然后对所有找到的ini文件通过lodctr inifile命令重新加载。
例如:如果希望重新加载ESENT驱动程序,则在步骤 4 中提到的列表将显示esentprf.ini 是 ESENT 驱动程序的 .ini 文件 (esentprf.ini:drivername=ESENT)。因此,要重新加载 ESENT 驱动程序,请在命令提示符处键入 lodctr esentprf.ini,然后按 Enter。
5. 最后重新启动计算机,查看日志已经解决 。
分享到:
相关推荐
如果发现该子键为空或 Counter 值和 Help 值不正确,可能会导致安装 SQL Server 2008 时报“性能计数器注册表配置单元一致性”错误。 解决这个问题可以使用注册表编辑器(regedit)来导出和导入注册表配置。首先,...
- 确保所有语言环境下的`Perflib`键都包含正确的`LastCounter`和`LastHelp`值,这对于多语言环境下安装SQL Server尤为重要。 6. **完成修改**: - 完成上述步骤后,保存注册表更改并关闭注册表编辑器。 - 重启...
* “Last Counter”值和“Last Help”值是由 Windows 动态分配的,可能因计算机而异。 * 如果您安装的是英文版 Microsoft SQL Server 2005,则需要修改 Perflib\009。如果您安装的是中文版 Microsoft SQL Server ...
首先,错误通常出现在安装过程中,系统检测到注册表中的`Last Counter`和`Last Help`值与`Perflib\009`下的`Counter`和`Help`最大值不匹配。根据微软的建议,用户需要进入注册表编辑器(regedit.exe),定位到`HKEY_...
- 类似于 `004` 子键的操作,确保 `Counter` 和 `Help` 的值与 `LastCounter` 和 `LastHelp` 的值一致。 ##### 步骤四:重启计算机 修改完成后,重启计算机以使更改生效。 ##### 步骤五:重新安装 SQL Server ...
- 返回`Perflib`主键,修改`Last Counter`和`Last Help`的值,将之前复制的最大值粘贴进去。 5. **注意不同语言环境**: - `004`通常表示中文实例,而`009`则表示英文实例。根据系统语言环境选择相应的实例进行...
5. 返回到`Perflib`主键,检查`Last Counter`和`Last Help`键的值。如果它们与`004`子项的数值不匹配,需要进行修改。 6. 右键点击`Last Counter`和`Last Help`,选择“修改”,将基数设置为“十进制”,然后输入你...
在 SQL Server 2005 安装过程中,需要检查性能监控计数器的注册表值,如果计数器值不正确,安装将失败。因此,我们需要检查注册表中的计数器值,并进行相应的设置,以确保安装成功。 为什么重新安装 .NET Framework...
4. **更新`Perflib\009`**:在`[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Perflib\009]`下,确保`LastCounter`和`LastHelp`的值正确无误,且其基数(Base)设置为"Decimal"。 #### 具体操作...
- 确定`Counter`和`Help`的最大值,然后在此基础上增加2,分别更新`LastCounter`和`LastHelp`的值。 4. **保存更改**:完成上述操作后,关闭注册表编辑器,此时无需重启计算机,即可继续SQL Server 2005的安装过程...
- 将`LastCounter`的值改为之前记录的`Counter`值(例如`5556`),将`LastHelp`的值改为之前记录的`Help`值(例如`5557`)。 - 注意:修改这些值时,确保选择了基数为“十进制”的选项。 5. **验证更改**: - ...
例如,“LastCounter”和“LastHelp”的值应与 `Perflib\004` 下的相应键值一致。 以上步骤涵盖了 SQL Server 2005 和 2008 卸载的主要方面。请根据实际情况调整具体操作,并确保在执行任何关键步骤之前备份数据。...
上一步 (5276) 中的 Last Counter 值必须与以下注册表项内 Perflib\009 中 Counter 项的最大值相等,上一步 (5277) 中的 Last Help 值必须与以下注册表项内 Perflib\009 中 Help 项的最大值相等:[HKEY_LOCAL_...