最近在安装SQL2008的时候出现了点问题,在网络上找到过一些资料,现在就结合自己的问题和解决的办法特地拿出来给大家学习学习。
问题的出现,提示:性能计数器不一致不能够通过,导致安装不了。我猜想的原因有我的系统有安装过sql2000 和 sql2005。之前的也有吧。下面是网上找到的解决方案:
在安装前检测时,安装程序报错,“性能计数器注册表配置单元一致性”,点击错误连接时,会提示查看文章,URL地址:http://support.microsoft.com/kb/300956。
虽然该文章提示只适用于windows 2000英文版,不过就个人使用体验,在windows xp Professional中文版也是适用的。下面的内容是根据该文章为蓝本,笔者在安装过程中的操作。
第一,打开注册表。开始菜单-->运行-->输入regedit,打开注册表;
第二,找到HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/Current Version/Perflib/009注册表项,将Last Counter值设置为十进制的“1846”,将Last Help值设置为十进制的“1847”;
第三,查找HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services 注册表项,使用查找功能,搜索该节点下所有含有performance的子项,删除名称为下表的值:
FirstCounter
FirstHelp
LastCounter
LastHelp
第三,在XP安装盘的i386目录下找到名为“PERFC009.DA_”以及“PERFH009.DA_”的文件,将这两个文件拷贝到c盘根目录下,打开命令行工具,进入到c盘根目录位置,使用expand命令解压缩这两个文件,命令如下:
expand PERFH009.DA_ perfh009.dat 以及 expand PERFC009.DA_ perfc009.dat
将expand后的文件perfh009.dat以及perfc009.dat拷贝到%systemroot%system32目录下,一般情况下是c:/windows/system32目录,系统提示是否覆盖原文件,选择“是”。
第四,打开命令行工具,输入如下命令
cd %Systemroot%/System32
findstr drivername *.ini
按回车键后,命令行工具中会输出驱动程序名称以及对应的ini文件。
在命令行中输入lodctr inifile,inifile是需要加载的驱动程序所对应的ini文件名称,例如需要加载TermService驱动,那么inifile就是TermService驱动对应的ini文件名tslabels.ini,在命令行输入的命令如下所示
lodctr tslabels.ini
第五,再次进行SQL 2008安装前的检测,通过,“性能计数器”的问题解决了。
安装过后可能还是用不了SQL2008,提示要删除之前安装的SQL2005,所以又google了一下:
修改注册表:
HKEY_LOCAL_MACHINE/Software/Microsoft/Microsoft SQL Server/90/Tools/ShellSEM,将ShellSEM项重命名或删除即可。