背景:给客户把系统重新做了一遍,装的是win2003server系统的版本,然后下载了一个SQL Server 2000的个人版安装上去,安装后重启了一下,重新完毕经过测试,SQL是可以正常使用的.随后我在MicroSoft的官方网站下载了SP4的补丁:SQL2000-KB884525-SP4-x86-CHS.EXE.双击开始安装后会解压缩一个文件夹到C:\SQL2KSP4,文件夹里面有个setup.bat文件,我双击后开始正常的安装补丁步骤,开始都进行顺利,但是到了"安装程序正在为升级进程对服务器进行初始化"这个提示的时候,就不动了.等待了近15分钟后出现提示:"对于MSSQLSERVER服务,服务控制操作失败:1460 由于超时时间已过,改操作返回".于是补丁就安装失败了.
原因:经检查发现客户电脑用的是phonex 8450三核cpu。SQL的SP4补丁加入了对多核心的支持,但是这个支持是有限制的,就是处理器核心数必须是2的整数次方,即1、2、4、8、16核等。从这个角度来说,不光是三核心,即将发布的Intel6核心很可能也不适用。因为是软件的检测不通过,所以CPU方面再怎么打补丁都没用的,解决办法要么是微软为SQL2000提供更新补丁,或者利用欺骗手法通过软件的这一检测。从目前收到的情况来看,SQL2005兴许还有机会通过在msconfig里面修改核心数骗过检测,SQL2000 SP4就完全没机会了。因此暂时来讲,三核实体机上无法打上SP4补丁。
结果:最后把三核的cpu处理器换成双核的问题都解决。