如何恢复金蝶没有备份的账套?

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 如何恢复金蝶没有备份的账套?

01 引言

最近我老婆在运行金蝶软件时,发现打不开了,软件修复了也没用。最重要的是没有备份账套文件!!!

可能是操作系统更新的原因,或许是其它的问题,没办法了,于是只能在新的一台电脑重新安装金蝶的软件,那么问题来了,旧电脑的账套文件如何恢复呢?

我研究了一番,大致了解了金蝶的运行流程,于是就有了本文,旨在解决“在没有备份金蝶账套的情况下,如何恢复账套?”。

02 金蝶是如何备份的?

金蝶的备份分为手动备份自动备份,我画了一张简单的流程图:

一般很容易忘记手动备份,或者自动备份需要等待一段周期(7天)才会备份一次,如果系统出了问题,或者没有手动备份的习惯,这是很容易导致数据丢失的。

上述的图片,表明金蝶在备份是分为如下两个文件:

  1. bak:即是备份账套的完整数据库的内容(包括表结构、表数据等);
  2. dbb:这个文件应该主要是辅助金蝶导入的一些元数据,即这个文件必须存在,才可以使用金蝶去恢复导入。

我们的想法肯定是生成之后,然后拷贝到新的电脑,直接使用新的金蝶导入账套的,但是旧电脑的金蝶软件打不开了,所以是无法备份的了。那么问题来了,这两个文件都没有,如何生成呢?。

03 导出数据库账套文件?

其实金蝶安装时,是直接顺便安装了SQLServer数据库的,新建账套时,会在SQL Server新建对应的一个数据库名与账套名一样的数据库。比如:新建了账套“XX20231013”,那么在SQLServer数据库也会新建一个数据库名为XX20231013的数据库。

所以,可以理解为账套的所有数据都存在对应数据库名的数据库里面,因此,导出该数据库,就意味着把账套的所有内容导出了,导出之后的格式跟金蝶备份到磁盘的格式一样,即:bak结尾的文件

导出命令如下(在安装金蝶的机器,打开搜索cmd,打开执行以下命令即可):

sqlcmd -S [SQL Server 实例] -Q "BACKUP DATABASE 数据库名 TO DISK='D:\数据库名.bak' WITH FORMAT"

举例(表示:将名为 “XX20231013” 的数据库备份到 “D:\XX20231013.bak” 文件中,其中 SQL Server 实例名称为 “LAPTOP-GF57IB6L\SQLEXPRESS”,这个不懂的可以请教博主如何查看):

sqlcmd -S LAPTOP-GF57IB6L\SQLEXPRESS -Q "BACKUP DATABASE XX20231013 TO DISK='D:\XX20231013.bak' WITH FORMAT"

那么bak的文件是导出来了,但是dbb文件呢?这个文件是金蝶程序生成的,我们可以不用管它,直接绕过它的“门面”,直捣黄龙😁,下面来讲讲。

04 新建一套完全一样的账套

接着在新的电脑,我们可以按照以前的步骤,在金蝶新建一套与之前一模一样的账套,忘记截图了,所以这里没图(注意的是:账套名必须与待备份的账套名一样,对应的是数据库的名称)。

新建完成之后,就相当于现在已经有了以前的账套了,只是没数据而已。

05 新账套导入数据

这些数据就是存储前面步骤导出的bak文件里面(例子中的XX20231013.bak文件),我们把它拷贝到新的电脑,以准备恢复这些数据。

恢复数据之前,需要下载SSMS连接工具(也就是连接SQL Server的客户端),下载地址(免费的):https://download.microsoft.com/download/a/c/a/aca4e29f-6925-4d50-a06b-5576c6ea629f/SSMS-Setup-CHS.exe

安装完成之后,打开并进行依次如下操作:

  1. 右键单击目标数据(比如例子中的:XX20231013);
  2. 选择 “任务” > “还原”;
  3. 在 “还原数据库” 对话框中,选择 “设备”,然后单击 “…” 按钮;
  4. 在 “选择备份设备” 对话框中,单击 “添加” 按钮,然后选择你的 .bak 文件(如前面例子的:XX20231013.bak文件);
  5. 然后单击 “确定” 来开始还原操作。

注意:如果上面的还原操作失败,提示“数据库正在使用,所以无法获得对数据库独占访问权”,说明金蝶的客户端占用了该数据库的连接,需要把这些连接杀掉,然后再次执行上述步骤。可以直接在ssms里查询哪些进程占用了该数据库,然后kill掉,相关命令如下:

USE master;
-- 查询哪些进程占用了该数据库的连接,并查出spid
EXEC sp_who;
-- 根据spid 杀掉该进程
KILL spid;

上述步骤都没问题之后, 重启电脑,打开金蝶,进入账套查看,会发现之前账套的记录全部恢复了。

06 文末

很高兴自己能在短时间内给老婆解决了金蝶账套恢复的问题,主要是金蝶的教程太少了,而且很多的都是吐槽软件的问题。其实静下心来,利用自己的已有的专业知识,会发现这些问题也不是很难解决的,只要愿意去思考与尝试。

希望本文能帮助到遇到相同问题的人,欢迎关注,谢谢大家的阅读,本文完!

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2月前
|
存储 安全 数据安全/隐私保护
备份SaaS数据的5个原因
【10月更文挑战第28天】SaaS虽被认为是几乎全能的解决方案,但企业仍需对业务和利润保持警惕。备份SaaS数据至关重要,原因包括:恢复过程可能缓慢;服务条款可能变化;云端数据并非永恒;人为错误难以避免;以及防止信息失控。因此,企业应确保有独立备份以应对各种风险。
87 0
|
4月前
|
数据安全/隐私保护
服务器备份的常见方法包括完全备份、增量备份、差异备份和实时备份
服务器备份的常见方法包括完全备份、增量备份、差异备份和实时备份
623 3
|
8月前
|
Oracle 关系型数据库
SAP小磁带备份注意事项
SAP小磁带备份注意事项
46 0
|
SQL 存储 数据库
如何恢复金蝶没有备份的账套?
如何恢复金蝶没有备份的账套?
331 0
|
安全 网络安全 数据库
.kat6.l6st6r勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
随着科技的不断进步,我们的生活越来越离不开数字化数据。然而,这也让我们面临了更多的网络威胁,其中之一就是勒索病毒。本文91数据恢复将介绍一种名为.kat6.l6st6r的勒索病毒,以及如何恢复被其加密的数据文件以及如何预防这种威胁。
298 0
|
存储 监控 安全
milovski-V-XXXXXX勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
    在当今互联网时代,勒索病毒已成为企业信息安全面临的重要挑战之一。近期,一款名为“milovski-V-XXXXXXXX”的勒索病毒在企业中再次出现,给企业的生产、经营带来了信息安全的威胁。在面对勒索病毒时,企业需要采取一系列应对措施,其中之一就是数据恢复。milovski-V-XXXXXXXX勒索病毒是一种采用强加密算法加密企业数据库的勒索病毒,当企业遭受该病毒攻击时,将无法正常使用数据库,对企业的生产和经营产生影响。
milovski-V-XXXXXX勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
|
存储 SQL Cloud Native
用户指南—备份与恢复—备份数据
PolarDB-X支持自动备份及手动备份,方便您恢复历史数据。 本文介绍数据备份的相关功能。
162 0
用户指南—备份与恢复—备份数据
「SAP技术」MIGO 343 解冻物料库存的同时可以更改存储地点
「SAP技术」MIGO 343 解冻物料库存的同时可以更改存储地点
「SAP技术」MIGO 343 解冻物料库存的同时可以更改存储地点
|
存储 弹性计算 安全
世界备份日——企业上云,备份先行
在信息安全已经上升为国家战略的当下,云灾备将发挥越来越大的作用,为国民经济的健康发展提供有力保障
1427 0
世界备份日——企业上云,备份先行
|
弹性计算 容灾 关系型数据库
一文教你学会数据库异地备份
数据库备份DBS提供数据库异地备份能力,满足PolarDB、RDS、ECS上自建库异地容灾需求。本文介绍ECS上自建数据库的异地备份。
1441 0

相关实验场景

更多