在Windows7的机器上装SQL Server2008,进行系统配置检查时,出现一个fail:Performance counter registry hive consistency check -status: Failed. 点击红色的“Failed”,有一个链接:http://support.microsoft.com/kb/300956/ How to manually rebuild Performance Counter Library values. (有中文版)
照着做了几步,Re-Run SQL Server安装,还是failed。没敢把HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 下搜到的Performance的First Counter, First Help, Last Counter, Last Help都删掉,怕其他应用运行出问题。
最后解决问题的方法。
1. cd Windows/System32 目录下,运行 lodctr /R:PerfStringBackup.ini ,Re-Run 看解决了没。如果没,go to 2.
lodctr: Update registry values related to performance counters.
2.
1)创建一个控制台应用程序。
static void Main(string[] args)
{
string lcid = string.Format("{0,3}", CultureInfo.InstalledUICulture.Parent.LCID.ToString("X")).Replace(" ", "0");
Console.WriteLine("LCID is {0}", lcid);
}
看看输出是什么,我的是004。
LCID:Culture identifier 区域设置ID。
2)regedit 打开注册表,找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
3)创建一个新的key004,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004
4)将009(英语)下的Counter 和 Help都copy到004下。
5)Re-Run,pass!
PS:我的系统locale是英语(US),位置和国家选的中国。注册表下已经有004和0804(zh-cn)的key。这个004不知道是啥。。。