安装规则支持程序
报错:性能计数器注册表配置单元一致性--失败。
以前装的sqlserver2005,最近由于毕设需要升级成sqlserver2008,卸载2005之后再安装2008就出现了这个错误。
确定原因是性能注册表损坏。在注册表
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib\009
位置缺少Counter 及 Help 两项。可能是因为卸载2005时删除了(安装2008可以直接从2005升级,不需要卸载2005直接运行2008安装文件,选择“从SQL Server2000、SQL Server2005 或SQL Server2008升级”即可)。
可扩展计数器信息存储在以下两个位置中:
以下注册表子项:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib\009
存储%Systemroot%\System32\Perfc009.dat 文件和 %Systemroot%\System32\Perfh009.dat 文件
解决办法是在命令提示符下键入:lodctr /r 自动重建性能计数器字符串表。
或者是手动重建,方法如下:
- 展开“Perfc009.dat”文件和“Perfh009.dat”文件。这些文件位于 Windows 安装光盘中。压缩文件位于DriveLetter:\i386\perfc009.da_ 和 DriveLetter:\i386\perfh009.da_。替换 %Systemroot%\System32 文件夹中的文件。
- 启动注册表编辑器,然后在注册表中查找以下项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib
- 在注册表中,将“Last Counter”值更改为 1846(十进制),并将“Last Help” 值更改为 1847(十进制)。
- 查找以下注册表项,以搜索具有 Performancesubkey 的服务:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
- 从 Performance 子项(如果存在)删除以下值:
- First Counter
- First Help
- Last Counter
- Last Help
注意 在注册表编辑器中从 Performance 子项删除值可能导致已安装的 .NET Framework 应用程序在下次启动时无法正常工作。如果发生这种情况,请使用“重新添加可扩展计数器”部分中的 lodctr /R 命令来重新生成性能计数器。如果您在启动 .NET Framework 应用程序时仍遇到问题,请参阅本文章中的“重新安装所有自定义 .NET Framework 程序集性能计数器”部分。
重新添加可扩展计数器
您必须从服务列表中重新添加可扩展计数器。在执行此操作之前,您必须标识用来加载计数器的 .ini 文件:- 打开一个命令提示符窗口。
- 在命令提示符处,键入 cd %Systemroot%\System32,然后按 Enter。
- 在命令提示符处,键入 findstr drivername *.ini,然后按 Enter。
- 注意列表中每个驱动程序名称所对应的 .ini 文件名。
- 在命令提示符后,键入以下命令,然后按 Enter:
lodctr <inifile>注意:在此命令中,<inifile> 表示要重新加载的驱动程序的 .ini 文件的名称。例如,如果希望重新加载 ASP 驱动程序,则在步骤 4 中提到的列表将显示 Axperf.ini 是 ASP 驱动程序的 .ini 文件 (axperf.ini:drivername=ASP)。因此,要重新加载 ASP 驱动程序,请在命令提示符处键入 lodctr axperf.ini,然后按 Enter。
- 为列表中的所有 .ini 文件重复第 5 步。
- 重新启动计算机。
参考链接:http://support.microsoft.com/zh-cn/kb/300956