找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

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

只有MDF文件如何恢复成正常账套

[复制链接]
发表于 2022-9-21 15:12:00 | 显示全部楼层 |阅读模式

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

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

×
只有MDF文件如何恢复成正常账套
【问题现象】
账套物理文件只有 mdf文件,没有ldf文件如何恢复数据?

                               
登录/注册后可看大图






【解决思路】1、将mdf文件恢复到数据库中;
【解决方案】中第1-第4步骤
2、检查账套物理文件对应的软件版本及补丁号,保证安装的软件版本及补丁号与账套数据版本及补丁号必须一致(非常重要!);
【解决方案】中第5步骤
3、账套备份,再重新恢复;
【解决方案】中第6-第9步骤





【解决方案】
1、找到电脑桌面左下角【开始】,在所有程序中找到【SQL Server xxx  Management Studio】管理器,如图所示;

                               
登录/注册后可看大图


2、双击打开后进入数据库,选中【数据库】点击鼠标右键新建数据库,新建需要恢复成正常账套的同名数据库,在数据库名称中填入UFTData033594_448182,记录好新建数据库的路径,例如D:\Chanjet\TPlusPro\DBServer\data,可以看到新建数据库是没有任何表的;
Ps.新建数据库的路径以实际安装软件的路径为准,例如:D:\Chanjet\TPlusPro\DBServer\data


                               
登录/注册后可看大图



                               
登录/注册后可看大图



                               
登录/注册后可看大图


3、找到电脑桌面的【计算机】或【我的电脑】,右击点击【管理】,在服务和应用程序下面找到数据库主服务SQL Server(MSSSQLSERVER),右键停止数据库服务;
PS.默认实例的数据库名称一般是SQL Server(MSSSQLSERVER),命名实例的数据库名称以实际命名为依据,通常格式为SQL Server(实际名称)。


                               
登录/注册后可看大图



                               
登录/注册后可看大图



                               
登录/注册后可看大图


4、接下来恢复成正常账套的操作方式一共有两种,具体内容如下:

方案一:右键复制备份好的mdf文件,在该路径下D:\Chanjet\TPlusPro\DBServer\data(以实际路径为准)右击点击粘贴,替换掉新建的同名mdf文件后,保留同名ldf文件


                               
登录/注册后可看大图


参考第三步重启数据库服务


                               
登录/注册后可看大图


使用数据库检测修复助手修复下这个新建数据库,修复之后查看能不能正常打开,有没有表
工具链接: https://www.chanjetvip.com/product/tool/detail?id=639ad24fa2a57d2e46415353

检测完成后点击修复,提示数据库上下文已经更改

                               
登录/注册后可看大图



                               
登录/注册后可看大图


重新点检测,修复,显示数据库正常


                               
登录/注册后可看大图


查看数据库中的表可以正常打开即可,且文件所在路径下会形成新的ldf文件

                               
登录/注册后可看大图

方案二:右键复制备份好的mdf文件,在该路径下D:\Chanjet\TPlusPro\DBServer\data(以实际路径为准)右击点击粘贴,替换掉新建的同名mdf文件,替换掉新建的同名mdf文件后,同时删除新建的同名ldf文件;


                               
登录/注册后可看大图


参考第三步,启动数据库服务,在数据库中执行脚本,然后重建日志文件;


                               
登录/注册后可看大图


具体操作如下:
在数据库的右上角点击新建查询


                               
登录/注册后可看大图


把下段内容复制到数据库中的空白页面:
以下脚本中,【UFTData033594_448182】需要修改为需要重建日志的数据名称,【D:\Chanjet\TPlusStd\DBServer\data】需要修改为T+安装的真实路径。
use master
alter database UFTData033594_448182 set EMERGENCY
alter database UFTData033594_448182 set single_user with rollback IMMEDIATE
alter database UFTData033594_448182 Rebuild Log on (name = MyDB_log, filename = 'D:\Chanjet\TPlusStd\DBServer\data\UFTData033594_448182_log.LDF')  
alter database UFTData033594_448182 set Multi_USER


                               
登录/注册后可看大图


执行完脚本后只要能正常打开数据库账表且数据存储路径下有LDF文件即可;


                               
登录/注册后可看大图



                               
登录/注册后可看大图


5、检查账套物理文件对应的软件版本及补丁号,保证安装的软件版本与账套数据版本必须一致(非常重要!)
5.1、 账套数据恢复到数据库中后,在账套数据库中执行语句
select * from sm_upgrade  order by version,orderno
如以下截图:表中字段status=1 表示脚本执行成功,表示账套已更新到了233号补丁。

                               
登录/注册后可看大图


如以下截图:表示账套已更新到了37号补丁,表中字段status=1 表示脚本执行成功。

                               
登录/注册后可看大图


37号之后的补丁,都未执行成功,此账套的真实补丁信息是37号。
执行 delete from sm_upgrade where version>'16.000.000.0037'  --删除37号补丁之后未执行的脚本信息。
5.2、在账套数据库中,执行语句,可判断账套的补丁:
select value from EAP_AccInformation where Name='UpgradeFinishFlag'
将查询出的结果,复制到网址:https://www.bejson.com/enc/base64/,进行解密,如下图:

                               
登录/注册后可看大图



                               
登录/注册后可看大图

表示账套已更新到了233号补丁
注意:最终以5.1步骤判断的版本和补丁号为准,5.2是辅助判断。

5.3、判断产品具体的版本

如果有系统库,看系统库eap_account表的Version字段,TplusPro为专业版,TplusStd为标准版,TplusPop为普及版

                               
登录/注册后可看大图


只有账套库的情况下,在账套数据库中,执行语句,可判断账套的版本及补丁:

select value from EAP_AccInformation where Name='UpgradeFinishFlag'

将查询出的结果,复制到网址:https://www.bejson.com/enc/base64/,进行解密,如下图:

                               
登录/注册后可看大图



                               
登录/注册后可看大图

可以看到解密出来的内容是TplusPro,也就是专业版

注意:如果执行select value from EAP_AccInformation where Name='UpgradeFinishFlag'没查询到具体内容,可继续执行脚本:select value from EAP_AccInformation where Name='ProductFlag'

                               
登录/注册后可看大图


将查询出来的Value值复制到 https://www.bejson.com/enc/base64/ 进行解密

                               
登录/注册后可看大图


6、用系统管理员登录账套,点击【新建账套】,任意新建一个空账套,启用的模块信息和用户等都无限制


                               
登录/注册后可看大图


7、如图所示空白账套的账套编码是000003,进入到数据库中,找到系统库,例如UFTSystemDec1700Pro,在系统库下面找到dbo.EAP_Account表,右击该表点击编辑前两百行,把空白账套的dsname改成需要恢复成正常账套的mdf文件的名称;


                               
登录/注册后可看大图



                               
登录/注册后可看大图



                               
登录/注册后可看大图



                               
登录/注册后可看大图


若系统库dbo.EAP_Account表打不开的情况可先查询空白账套的的dsname字段值
select DsName,*from EAP_Account where cAcc_Num='sss'
sss代表实际的账套编码


                               
登录/注册后可看大图


然后执行更新dsname字段的脚本,执行完成后提示1行受影响即可:
update EAP_Account set DsName='实际名称' where cAcc_Num='sss'


                               
登录/注册后可看大图


8、更新完dsname字段后,点击服务器电脑左下角【开始】-找到畅捷通T+文件夹,例如【畅捷通T+专属云17.0专业版】;在该文件夹中找到【T+账套维护工具】,然后备份账套,备份出来以后重新恢复,恢复时需要手工维护账套信息中的账套编号


                               
登录/注册后可看大图



                               
登录/注册后可看大图


9、恢复完成后可用原密码登录,若无法登录,有两种操作方式:

专属云账号问题处理工具进行检测,重置密码为123456
工具链接:https://www.chanjetvip.com/product/tool/detail?id=5ea530fd9464482f7d4a1b7e
本地账号问题处理工具进行检测,重置账号密码为123456
工具链接:https://www.chanjetvip.com/product/tool/detail?id=632d1f2a1a609301df1e0bd2


                               
登录/注册后可看大图


也可参考文档【如何修改T+用户的密码】
文档链接:https://docs.qq.com/doc/DUm9aR1pqamhoTUJJ
如遇修改完密码后仍然登录不了的情况,参考文档【账号或者密码不正确,或用户不在云运用开通的企业中】,更新用户的clouduserid字段
文档链接:https://docs.qq.com/doc/DUk1CYmR2Um5KS29y
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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

GMT+8, 2024-11-25 08:47 , Processed in 0.048923 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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