当前位置:文章写作网 >日记 >日记 >浪潮数据库修复实战

浪潮数据库修复实战

2007-11-19 16:19 作者:tshfang 阅读量:9173 推荐8次 | 我要投稿

问题:

一客户没有任何数据备份,在使用浪潮数据备份的时候提示XXXX.dll 控件无效.客户端登陆的时候提示,cwmaster数据库无效.

客户使用的是浪潮软件的e系列,只能安装msde.没有sql server 的客户端工具.

解决方法:

首先安装sql的客户端工具,打开企业管理器,查看cwmaster数据库-质疑.分离数据库吧.

然后搜索cwmaster数据库,找到具体路径然后到企业管理器重附加数据库.客户端可以登陆。使用浪潮软件提供的备份工具提示xxx.dll控件无效,从其他机器拷贝一个xxx.dll控件,然后使用regsvr32命令注册此控件。问题解决。

问题解决扩展:

问题可以延伸到1、找不到cwmaster数据库2、找到cwmaster数据库但是数据库被损坏。

1、找不到数据库cwmaster

首先建立一个帐套(001),然后分离此帐套的数据实体,附加客户实际帐套数据实体。

进入sql的查询分析器,执行如下脚本。

sp_configure "allow updates",1

go

reconfigure with override

go

假定是把001账套的数据实体附加到002账套中)

update cwbase2..sysusers set name='lc0029999'

where cwbase2..sysusers.name='lc0019999'

go

update cwbase2..sysusers set name='ad0029999'

where cwbase2..sysusers.name='ad0019999'

go

commit

修改数据库用户Id号:

update cwbase*..sysusers set sid = master..syslogins.sid

from cwbase*..sysusers,master..syslogins

where cwbase*..sysusers.name=master..syslogins.name

go

commit

恢复系统参数设置

sp_configure "allow updates",0

go

reconfigure with override

go

2、cwmaster数据实体被损坏。

这个问题比较复杂,只能从多方面处理,首先考虑的是使用dbcc checkdb修复数据库,可以允许数据丢失进行修复,具体问题出在哪里,从哪里着手。其次是考虑导表,新建数据库cwmaster,利用sql的工具进行导表操作,将旧数据库的数据倒入到新的数据库中。如果不能修复可以按照问题1没有cwmaster的方法处理方法。

其他:

如果是用友软件,出现这种情况,可以新建帐套(001),分离001数据实体,然后附加客户实际数据文件。

如果客户使用的只是财务部份,问题就处理完成。

如果客户使用了供应链-进销存,那么还需要修改ua_identity表。根据供应链中各个表的id和autoid最大值修改ua_identity表中相应的字段.

如果是金蝶软件,处理方法十分简单,直接附加数据实体就可以了.

如果还有其他问题或者不清楚的地方,请给我留言.

其他人在看啥

    《浪潮数据库修复实战》的评论 (共 0 条)

    • tshfang:写错了,用友的软件如果没有系统库,如果是85系列及以前版本,需要修改注册表,重新建立系统库。如果是86以上版本需要进入系统管理,新建系统库。然后再附加数据库,做后续操作
    • Guest:老公真厉害! 写的我都看不懂
    • Guest:请教: 上个月还正常提折旧、生成凭证记账,这个月就不行了,无法提折旧生凭证了,提示:不能正确制作折旧分配表,无法删除上次提取折旧临时凭证分录。请赐教:dwxsh@163.com
    • Guest:我用的是浪潮的ps9.1,请问怎样才能在多个帐套中取数生成新报表。谢谢
    • Guest:1、在报表-格式中设置帐套信息字典(需要关闭所有打开的报表) 2、新建报表,在取数对象中设置形如下面的例子 帐套编号=0001(其中0001是帐套信息字典中的连接编号)
    • Guest::luguo
    • Guest::good
    • Guest:终于找到能修复浪潮数据库的答案了! 但是具体操作还是个问题。