原帖地址:http://topic.csdn.net/T/20060314/14/4613478.html
------------------
近日,因为参与一个项目开发,该项目要求只能用正版软件。在开发阶段,我们采用了windows xp和sql server 2000 eval 英文版。
windows xp pro (中和英文)均为正版,sqlserver2000 英文评估版,微软站点下载
经过一段摸索和测试,将sqlserver2000 英文企业版安装成功
首先,我对目前安装sqlserver2000企业版的最为流行的2个方案,做个总结
1。ntswitch软件修改xp为.net server系统,这种方法对系统修改太多,有一定风险,切换之后,系统出现了异常,更遑论安装sqlserver
2.先安装sqlserver enterprise 的msde,再安装客户端工具,个人感觉是在偷换概念,msde在各个sqlserver版本中完全一样,其实就是桌面版的sqlserver,给98用的,根本没有企业版应有的内在。安装这个没有意义,而且安装只能默认的安装到系统分区。不可以自定义安装。
接下来,讨论一下xp可安装的sqlserver 版本,eval和个人版,其他版本安装提示,非server系统不可以安装。
但是eval版本是120天试用版本,之后服务就中止。除非更改时间或者重新安装。
再接下来我们想一下,解决问题的思路,检查了个版本sqlserver中的目录结构和分布,主要文件大致一样。也就是说,我只要让安装文件在检查系统的时候跳过检查系统的版本,就应该可以安装。那么检查系统版本的sqlserver安装文件,是哪一个呢。trace一下,在这里
sqlserver安装包的根目录/x86/binn/setupex.dll
删除或者更改文件名,从新安装提示缺少文件的错误,但是版本拒绝没有了
那么既然只有这一个文件有问题。我可以用评估版本和个人版本的setupex.dll,去替换该文件,是否可以。
come on 想到就做,成功了,我运行sqlserver enterprise的安装文件,没有任何提示,就进入到正常安装向导。不过有一个缺憾,因为我用的是eval,在安装向导的窗口的标题显示eval enterprise,抱着怀疑,我以自定义的方式安装好了sqlserver,我用sqlserver 的select @@version检查版本,显示sqlserver eval enterprise,有点失望,以为还是评估版本的。
如何测试呢,很简单,我们把时间改到了,120天以后,甚至10年以后,重新启动计算机,发现sqlserver的服务依然正常启动,看来是没有问题了,如果是eval版本,那么sqlserver在更改系统时间120天之后,服务就会启动失败,在事件日志里提示已经过期。
总结一下,我们只替换了sqlserver 2000 enterprise的一个文件,其他文件都保持不变的情况下,达到了目的,从风险和操作上来讲用了最小的代价,虽然在版本的显示提示还是eval(如果用个人版不知道是否会显示personal)。但从实际使用角度来说,我们已经享受到企业版的安装文件和设置。
我在网络上去搜索解决问题的办法的时候,没有找到这种方式。或许已经有人用过此方法,而我没找到而已。
把经验分享,希望大家能找到更晚完美的解决方案。因为我只有eval版本,个人版我没测试,有条件的朋友可以测试一下