找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 8564|回复: 8

[ERP相关] 用友u8数据恢复方法谈

  [复制链接]
发表于 2010-6-4 20:22:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×

第一种情况: 在只有.MDF.ldf的情况下进行数据库的备份与恢复。 因病毒问题,用友软件无法正常启动.系统管理也不能进入.因此无法正常备份数据,这时就要用到附加数据库了.通过附加数据库使数据库和用友软件相关联,步骤如下:

1'把用友软件下的ADMIN文件夹下的内容挎出,主要是*.mdf*.ldf文件,就用友通标版2005来说其中包括系统数据UfSystem.MDFUfSystem.ldf及各账套下的内容.

2'重装系统及软件

3'把挎备出来的文件复制回原来的位置.

4'通过查询分析器SQL语句附加数据库,或者通过企业管理器/服务器/数据库/右键/附加数据库 来附加数据库。

<例:通过查询分析器SQL语句

--sp_attach_db 'ufsystem','D:\UF2000\Admin\ufsystem.mdf','D:\UF2000\Admin\ufsystem.ldf' //第一行'ufsystem'为系统数据库名,'D:\UF2000\Admin'为物理地址.

--sp_detach_db 'ufsystem' //第二行,在第一行执行时提示ufsystem已经存在,因此要删除ufsystem,但要注意,重做的系统要和之前的系统一样.要不就恢复不了。

--sp_attach_db 'ufdata_001_2002','D:\UF2000\Admin\ZT001\2002\ufdata.mdf','D:\UF2000\Admin\ZT001\2002\ufdata.ldf' //第三行'ufdata_001_2002'001账套2002的数据库。'D:\UF2000\Admin\ZT001\2002'为物理地址. 其它的账套也是如此。>

另外,用户设置了SQL server 超级用户SA的密码,大家都知道设置SA密码后,当其他软件用到SQL server数据库时是非常不方便的.所以要把SA的密码清空.

方法是:打开企业管理器,依次打开SQL server,打开安全性,打开登录,SA上点右键,选属性,在密码项上清空,依次确定即可。

第二种情况:

1、已没有数据库文件,只有账套备份

2、既有数据库文件,也有账套备份

3、只有数据库文件

一、 已没有数据库文件,只有账套备份

1.如果有整个账套备份,直接使用系统管理里的帐套引入最新时间备份的账套就可以了。

2.如果是年度帐的备份,并且软件中还有这个帐套和年度的话,可以用帐套主管注册,然后从年度帐菜单下引入;如果是没有这个帐套存在,就要在系统管理中新建一套帐,建帐时只要注意启用日期、行业性质、帐套主管即可,其他均可忽略,然后把备份中的ufdata.ba_ APP目录下的ufuncomp.exe 将它解压缩为ufdata.bak 再将此文件在enterprise manager restore 即可.

二、 已没有数据库文件,只有账套备份

如果是帐套的备份,而该帐套又包含很多个年度,可以先将该文件解压缩,然后通过方法3.2所述找到该备份文件(备份设备),查看该设备的内容,选择要恢复数据库对应的备份号(每个年度一个号),在选项标签里选强制恢复,配置正确的物理文件位置既有数据库文件,又有账套备份

2.如果磁盘上既有数据库文件,又有账套备份的话,那就考虑哪种方法更方便,更有效,更迅速的解决问题.在没有用系统管理做备份,只备份了(zt+帐套号)的的情况下, sql server 数据库与access数据库的恢复数据不同,它不能象access数据库一样直接用原来的.mdb文件覆盖新建的的数据库即可,它需要用sp_detach_db命令从服务器分离新建立的数据库,然后再用原来备份的数据库文件替换新建立的数据库文件,最后用sp_attach_db命令将原来备份的数据库附加到服务器。

例如: 如果存在数据库ufdata.mdf ufdata.ldf两个文件,则可以使用 EXEC sp_detach_db 'ufdata_001_2002', 'true' EXEC sp_attach_db @dbname = N'ufdata_001_2002', @filename1 = N'c:\winnt\system32\ufsystem\zt001\2002\ufdata.mdf', @filename2 = N'c:\winnt\system32\ufsystem\zt001\2002\ufdata.ldf' 如果只有数据库ufdata.mdf,而丢失了ufdata.ldf文件,则可以使用 EXEC sp_attach_single_file_db @dbname = 'ufdata_001_2002', @physname = 'c:\winnt\system32\ufsystem\zt001\2002\ufdata.mdf' 另外,针对安装了SQL简版的用户,由于不能直接使用SQL的查询分析器,无法调用sp_detach_db命令,则可以尝试下面的方法:

1 引入早期备份的账套数据,如果从前一次都没有进行过数据备份,则可以先通过系统管理建立一套新帐,账套编号及其它参数与原账套保持一致;

2 停止并退出MS SQLServer 服务器;

3 停止[控制面版]---[服务]中的---U8管理软件---进程;

4. 将数据库文件ufdata.mdf ufdata.ldf复制到系统中账套目录下,覆盖掉通过备份恢复的数据(或通过系统管理新建立的数据);

5. 重新启动并运行MS SQLServer 服务器;

6
重新启动并运行[控制面版]---[服务]中的---U8管理软件---进程。
第三种情况:系统重装后,没有账套备份,如何恢复账套
建和原来的帐套号,帐套名称,启用日期,行业性质一样的账套.建帐完成后SQL和用友通服务停止.把原来的数据库文件放到新建账套的文件夹下面,然后重新启动sql的数据库服务,检查是否恢复.如果数据库被置疑,运行下面的角本进行修复即可.注意要把相就原数据库和路径修改和新建账套一致。 use master go sp_configure 'allow updates' ,1 go reconfigure with override go update sysdatabases set status=-32768 where dbid=DB_ID('UFDATA_001 _2007') go dbcc rebuild_log('UFDATA_001_2007 ','C:\UFSMART\Admin\ZT001\2007\UFDATA.LDF') go sp_dbopti on 'UFDATA_001_2007 ','dbo use only','false' go sp_configure 'allow updates',0 go reconfigure with ov erride go 如果当年的恢复后需要恢复下一年的,那么首先把下一年的帐建好,完了停止数据库和U8的服务,用以前的数据覆盖这个年度的数据,再次启动
发表于 2010-6-5 08:45:30 | 显示全部楼层
谢谢   现学习一下
发表于 2011-9-23 16:59:50 | 显示全部楼层
有重要作用,学习了
发表于 2011-9-26 14:33:46 | 显示全部楼层
SQL默认端口1433,是经常被抓鸡的端口,密码为空,非常的不赞同
发表于 2011-9-30 16:00:49 | 显示全部楼层
值得学习,膜拜一下
发表于 2012-3-15 21:29:09 | 显示全部楼层
值得学习,膜拜一下
回复 点赞 拍砖

使用道具 举报

发表于 2012-4-11 17:30:29 | 显示全部楼层
学习下,很实用
回复 点赞 拍砖

使用道具 举报

发表于 2012-7-30 10:01:04 | 显示全部楼层
谢谢   现学习一下
回复 点赞 拍砖

使用道具 举报

发表于 2012-10-16 09:46:06 | 显示全部楼层
谢谢   学习一下
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-27 11:44 , Processed in 0.046584 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表