这是一个真实案例。

有一个10年前的金蝶财务系统,安装在一个虚拟机上。

系统版本windows server 2003,数据库版本SQL Server 2000.

这个系统是不久前因老财务服务器罢工,临时安装的,安装好后一直用着没事。一直到今天...

今天重启虚拟机宿主机,所以虚拟机也重启了。

之后就是金蝶系统无法连接。

登陆虚拟机,发现SQLServer无法启动。

反复重启尝试后问题依旧。找日志看吧。系统日之内没有任何提示。找MSSQL的日志吧。

在MSSQL安装目录下LOG目录下,查看ERRORLOG文件。内容只有一条,“SQL Server evaluation period has expired”

意思是评估版到期。当初不知怎的安装了评估版。呵呵,没办法,抢救数据要紧。

数据都在,只是服务无法启动。

方案1:

安装一个新的正式版SQLServer2000.

然后用附加数据库的方式,将旧数据文件导入。只要设置sa密码与当前的一致即可。

问题是,sa密码我不知道。

 

方案2:

移除当前金蝶以及数据库,安装一个全新系统。然后用金蝶备份导入帐套数据。

这个只要有备份文件即可。

问财务经理要,她说...

这么长时间居然不备份,唉。

 

方案2改进版:

想办法让系统启动起来,然后备份。最后在执行方案2.

能启动起来还重做干啥?其实启动起来是带病启动,做个备份还行,不能做其他财务操作。

因为让系统能工作的方法是,修改系统时间。

具体操作如下:

1.在windows server 2003内修改系统时间,然后移除时间自动更新。

2.此时是无法启动sql server和金蝶的,需要重启虚拟机。

    注意,如果关闭虚拟机在开启,时间还是会获取到正常时间。所以必须是使用重启。

3.重启后的系统会发现SQLServer已经自己启动起来了。

之后就简单了,使用金蝶的帐套管理备份,然后复制一份出来。

剩下的就是重新安装,再导入帐套。

 

总结,SQLServer2000评估版是在每次重启时判断系统时间来决定是否启动。这个让人感觉有点low,不过都是20年前的产品啦。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐