用友U8财务软件备份数据的还原方法及分析

  • 格式:doc
  • 大小:211.50 KB
  • 文档页数:2

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最近,笔者在参与某国有企业负责人经济责任审计中,需要采集该企业财务电子数据。该企业使用的财务软件为用友U8+,后台数据库为SqlServer。审计组在和企业财务及计算机人员充分沟通后,获得了其服务器后台采集备份的财务数据,数据备份名称为ufdata_001_2013.bak。该数据库中含有2013年至2015年共3年的所有财务数据。

之前笔者也导入过很多用友数据库备份数据,比如用友G6财务软件数据,其后台备份数据一般命名为ufdata.ba_。用友G6与U8相比,文件后缀名一个为.ba_,一个为.bak,一字之差而已,且后台数据库均为SqlServer,但不曾想导入方式会截然不同。以笔者导入G6备份数据的经验,直接在AO采集转换模块中,选择名为“用友8.xSqlServer备份”的转换模板,即可顺利导入AO账表重建,但在此次导入U8+的.bak备份文件时却显示失败,并在更换了多种SQL导入模板后均无效果,如下图所示:

笔者分析后认为现有AO软件中并没有适合用友U8+的转换模板,这样一来就只有转换下思路了:将备份文件在SQL中还原,找到AO账表重建需要的三张表,即:科目代码表(code)、科目余额表(GL_accsum)和凭证表(GL_accvouch),之后利用AO的辅助导入功能生成账套。

在SQL中还原备份文件时,审计最常用的方法就是在SQL中先新建一个数据库,之后将备份文件在该数据库中还原,再找表分析。依照上述思路,笔者在SQL中新建了一个数据库并将其命名为“某某公司”,之后在左侧数据库列表中找到该数据库,选中该数据库右键-任务-还原-数据库,在源设备中找到备份文件ufdata_001_2013.bak,目标数据库选中“某某公司”,找到备份文件所在的存储路径,选择覆盖原数据库,点击还原,系统运行片刻后提示还原失败:

还原备份文件工作陷入困境。笔者和审计组成员多次讨论并查找资料后,决定放弃“先建数据库再还原”的思路,尝试着在SQL根目录下直接还原.bak文件,具体步骤如下:先删除数据库“某某公司”,直接在根目录的数据库下方右键—还原数据库,之后在源设备中找到备份文件ufdata_001_2013.bak所在路径,此时目标数据库下拉框中会自动出现一个名为“ufdata_001_2013”的数据库,选择它然后点击还原,系统运行片刻后显示还原成功:

笔者根据两次的数据还原经历结合多方查证的资料,认为第一次失败的原因可能是:通常对于新建的数据库文件,系统默认将数据文件和日志文件分别命名为xxx.mdf和xxx_log.ldf,而对.bak格式的数据库文件,在还原的时候系统默认将数据文件和日志文件分别命名为xxx_data.mdf和xxx_log.ldf,两相比较,日志文件名一样,但数据文件名出现差异,导致还原失败;第二次采取直接在SQL根目录下还原.bak文件的方式,系统默认数据库文件名为xxx_data.mdf和xxx_log.ldf,与还原数据库的xxx_data.mdf和xxx_log.ldf文件名保持一致,从而避免了命名差异,最终还原成功。