背景关键词:Hyper-V ,VHDX ,HDD ,SqlServer ,删库
事件经过:昨天同事误操作右键删除了 SqlServer 中的开发数据库,无备份。mdf 文件超过 10G 。发现之后第一时间把这台虚拟机关机了。
恢复过程:
DiskGenius
挂载 vdx 尝试恢复,未找到被删除的 mdf 及 ldf 文件。easyrecovery
尝试恢复,选择分区,勾选深度扫描,在指定分区未找到被删除文件。easyrecovery
扫描整个 vhdx 磁盘,目前正在跑。请问大家有没有类似经历,求方案,先谢各位大佬了
1 bootvue 171 天前 放弃吧 |
2 SS945 171 天前 同事(是自己吗) |
![]() | 5 wyntalgeer 171 天前 从生产拉一份得了,正好缓解一下开发生产不同步 |
![]() | 6 dabao OP @wyntalgeer 还没有生产 |
7 sir283 171 天前 via Android 去咸鱼找专门搞数据恢复的团队搞,但是比较贵。你肯定接受不了,所以,跟你那个同事一起,赶紧提桶跑路吧。 |
![]() | 8 Oa 171 天前 ![]() 各种数据恢复软件都试试吧。比如 SysTools Hyper-V Recovery |
![]() | 9 wyntalgeer 171 天前 @dabao #6 啊? |
![]() | 10 newaccount 171 天前 小文件还能碰碰运气,10G…… |
![]() | 11 knva 171 天前 10G 洗洗睡吧 |
12 i8086 171 天前 Hyper-V 有没检查点?先看看这个。 |
![]() | 15 dabao OP @newaccount 是啊,换了三四个恢复工具都找不到,其实不是 10G ,是 36G |
18 liuidetmks 171 天前 开发数据库,数据很重要吗? 自己根据业务写一些垃圾数据可行吗 |
![]() | 19 dabao OP @liuidetmks ETL 跑了好几个月 |
![]() | 20 dabao OP @liuidetmks 问题还不是数据,数据可以重新跑,主要是表结构没了 |
![]() | 21 Immortal 171 天前 表结构没法通过代码反推吗 |
22 han1988 171 天前 丢数据记住不要关机。有专业公司可以恢复 |
![]() | 23 rlds 171 天前 估计难搞,按理来说同一块硬盘上的东西都得停止而不只是停这一个虚拟机。 |
24 LuoyeBug 171 天前 表结构没有 git 么 |
![]() | 25 flynaj 171 天前 via Android 固态硬盘就不用试了,神仙来了也没有用 |
26 qyxx 171 天前 虚拟机磁盘格式、还是 vhdx 这种受管理的,应该难。 裸磁盘或者 raw 磁盘文件还机会大一点。 |
![]() | 27 yolee599 171 天前 via Android 虚拟机…那大概率没救了! |
![]() | 28 yjd 171 天前 如上面说的,要整个盘停。如果 vhdx 不是一次性分配被复写到就难。我用过 UFS Explorer 最强但也不便宜,只有他能认我的 r10+vmfs+vmdk |
![]() | 29 ruiy 171 天前 现在还有时间,可以收拾收拾东西。 |
![]() | 30 orangie 171 天前 via iPhone 开发环境,不必理会 |
![]() | 31 opengps 171 天前 小概率事件,很有可能这 10G 的存储已经被破坏,恢复了也不能用 |
![]() | 32 JKeita 171 天前 你们表结构都不存文档里吗 |
33 lhsakudsgdsik 171 天前 年初的时候,客户的生产 mysql 数据库服务器的磁盘直接被人格式化了,根本恢复不了,只能找恢复公司,整盘恢复大概 5000 ,恢复之后 mysql 先是起不来并且还是很多表还是没数据,然后一个库 2000 修复了快一个月才搞定,整个过程非常头大,还是放弃吧建议 |
34 lyle 171 天前 十年前曾在生产环境误删数据,当时尝试用 EasyRecovery 之类的软件恢复无果,最终找据恢复公司解决了。记得他们通过远程使用 WinHex 对磁盘的剩余空间镜像,大概编了一个小程序读取数据库数据包头完成恢复。但数据库运行在物理机上,不确定 VHDX 格式是否仍有恢复可能性。 |
![]() | 35 hugebug 171 天前 表结构都没有的话 说实话 有点不规范啊 |
![]() | 36 liuliancao 171 天前 问了 deepseek 推荐这个 R-Studio 建议先 dd 备份吧 然后再考虑操作 sqlserver 是 windows 的是吧 |
37 yinmin 171 天前 via iPhone pve 、pd 虚拟机里删文件会自动 trim 释放磁盘空间,我记得 vhdx 里删文件好像是不会自动 trim 数据的,并且 ntfs 是日志型,我感觉找专业公司是有恢复出来的可能性,建议 OP 找找专业公司。 |
![]() | 38 12345xw 171 天前 推荐 pc3000 ,B 站上的恢复数据 up 都用这个 |
40 yinmin 171 天前 via iPhone 题外话,给 hyper-v 的建议,如何备份: 1. 在 windows server 上新加一块备份专用 ssd 硬盘,也可以找一台 win server 的共享目录 2. 为备份专用磁盘(或者共享目录所在磁盘)开启 windows server 的磁盘删除重复数据功能 3. hyper-v 右键点击虚拟机,选择“导出”(虚拟机运行也可备份)到备份专用 ssd 4. 建议每周备份一次,可以在“任务计划程序”里定期运行 powershell 指令自动导出虚拟机 虚拟机开机备份,恢复出来的状态类似虚拟机备份时刻异常重启。由于启用了“磁盘删除重复数据”功能,你根本不用删历史备份,1 个 200GB 虚拟机每周备份一次保留 2 年历史备份,可能只占用了磁盘 250-300GB 空间。 |
41 yinmin 171 天前 via iPhone ![]() 接#40 如果使用共享目录作为备份目标,优选 windows server 的共享目录,因为群晖等一众 nas 只有非常高端的企业型号才有“删除重复数据”功能,最便宜的能开启“删重”功能的,好像就是 win server 吧。 |
![]() | 42 lycoo 171 天前 开发库难道就没有导出过全库 sql ?或者任何一个备份。太奇怪了 |
![]() | 43 nm1st 170 天前 表结构都没有 这合理吗 |
![]() | 44 iceecream 170 天前 Rsstudio 试试。很好用,但是恢复出来的文件,在 mssql 上导入可能有逻辑问题 |
![]() | 45 chrawsl 170 天前 hyper-v 不打快照的吗 |
46 allendavis 170 天前 10G 了都没有一个备份或者表结构,说明不重要,没事儿继续造[doge] |
![]() | 47 qping 170 天前 via iPhone ![]() 草台班子 |
48 wwhc 170 天前 遇到这种情况,首先应该做的关机,用 linux 启动服务器,使用 dd 克隆物理硬盘/ssd |
![]() | 49 GuangXiN 170 天前 没有一天一个快照这虚拟机是白用了 |
50 2022study 170 天前 如果从物理机器的文件系统中删除的用恢复软件还有些搞头,虚拟机的硬盘就不好讲了,如果是通过数据库管理软件删除的,那就基本没戏了。 |
![]() | 51 iamzcr 169 天前 不是,你们表结构居然代码没 migrations 相关程序?你们更新咋办,直接手动去生产环境加字段? |