V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dabao
V2EX  ›  数据库

SqlServer 被删库,超过 10G 的 mdf 文件能否从磁盘恢复

  •  
  •   dabao · 2025 年 4 月 23 日 · 6312 次点击
    这是一个创建于 262 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景关键词:Hyper-V ,VHDX ,HDD ,SqlServer ,删库

    事件经过:昨天同事误操作右键删除了 SqlServer 中的开发数据库,无备份。mdf 文件超过 10G 。发现之后第一时间把这台虚拟机关机了。

    恢复过程:

    1. 先使用DiskGenius挂载 vhdx 尝试恢复,未找到被删除的 mdf 及 ldf 文件。
    2. 使用宿主机磁盘管理挂载 vhdx ,用easyrecovery尝试恢复,选择分区,勾选深度扫描,在指定分区未找到被删除文件。
    3. 继续使用easyrecovery扫描整个 vhdx 磁盘,目前正在跑。

    请问大家有没有类似经历,求方案,先谢各位大佬了

    51 条回复    2025-04-24 19:50:59 +08:00
    bootvue
        1
    bootvue  
       2025 年 4 月 23 日
    放弃吧
    SS945
        2
    SS945  
       2025 年 4 月 23 日
    同事(是自己吗)
    dabao
        3
    dabao  
    OP
       2025 年 4 月 23 日
    @SS945 这是真同事
    dabao
        4
    dabao  
    OP
       2025 年 4 月 23 日
    @bootvue 真的没办法吗佬
    wyntalgeer
        5
    wyntalgeer  
       2025 年 4 月 23 日
    从生产拉一份得了,正好缓解一下开发生产不同步
    dabao
        6
    dabao  
    OP
       2025 年 4 月 23 日
    @wyntalgeer 还没有生产
    sir283
        7
    sir283  
       2025 年 4 月 23 日 via Android
    去咸鱼找专门搞数据恢复的团队搞,但是比较贵。你肯定接受不了,所以,跟你那个同事一起,赶紧提桶跑路吧。
    Oa
        8
    Oa  
       2025 年 4 月 23 日   ❤️ 1
    各种数据恢复软件都试试吧。比如 SysTools Hyper-V Recovery😆
    wyntalgeer
        9
    wyntalgeer  
       2025 年 4 月 23 日
    @dabao #6 啊?
    newaccount
        10
    newaccount  
       2025 年 4 月 23 日
    小文件还能碰碰运气,10G……
    knva
        11
    knva  
       2025 年 4 月 23 日
    10G 洗洗睡吧
    i8086
        12
    i8086  
       2025 年 4 月 23 日
    Hyper-V 有没检查点?先看看这个。
    dabao
        13
    dabao  
    OP
       2025 年 4 月 23 日
    @sir283 桶给他准备好了
    dabao
        14
    dabao  
    OP
       2025 年 4 月 23 日
    @Oa 下载试一下
    dabao
        15
    dabao  
    OP
       2025 年 4 月 23 日
    @newaccount 是啊,换了三四个恢复工具都找不到,其实不是 10G ,是 36G
    dabao
        16
    dabao  
    OP
       2025 年 4 月 23 日
    @knva 没有 10G ,只有 36G
    dabao
        17
    dabao  
    OP
       2025 年 4 月 23 日
    @i8086 没有检查点
    liuidetmks
        18
    liuidetmks  
       2025 年 4 月 23 日
    开发数据库,数据很重要吗?
    自己根据业务写一些垃圾数据可行吗
    dabao
        19
    dabao  
    OP
       2025 年 4 月 23 日
    @liuidetmks ETL 跑了好几个月
    dabao
        20
    dabao  
    OP
       2025 年 4 月 23 日
    @liuidetmks 问题还不是数据,数据可以重新跑,主要是表结构没了
    Immortal
        21
    Immortal  
       2025 年 4 月 23 日
    表结构没法通过代码反推吗
    han1988
        22
    han1988  
       2025 年 4 月 23 日
    丢数据记住不要关机。有专业公司可以恢复
    rlds
        23
    rlds  
       2025 年 4 月 23 日
    估计难搞,按理来说同一块硬盘上的东西都得停止而不只是停这一个虚拟机。
    LuoyeBug
        24
    LuoyeBug  
       2025 年 4 月 23 日
    表结构没有 git 么
    flynaj
        25
    flynaj  
       2025 年 4 月 23 日 via Android
    固态硬盘就不用试了,神仙来了也没有用
    qyxx
        26
    qyxx  
       2025 年 4 月 23 日
    虚拟机磁盘格式、还是 vhdx 这种受管理的,应该难。 裸磁盘或者 raw 磁盘文件还机会大一点。
    yolee599
        27
    yolee599  
       2025 年 4 月 23 日 via Android
    虚拟机…那大概率没救了!
    yjd
        28
    yjd  
       2025 年 4 月 23 日
    如上面说的,要整个盘停。如果 vhdx 不是一次性分配被复写到就难。我用过 UFS Explorer 最强但也不便宜,只有他能认我的 r10+vmfs+vmdk
    ruiy
        29
    ruiy  
       2025 年 4 月 23 日
    现在还有时间,可以收拾收拾东西。
    orangie
        30
    orangie  
       2025 年 4 月 23 日 via iPhone
    开发环境,不必理会
    opengps
        31
    opengps  
       2025 年 4 月 23 日
    小概率事件,很有可能这 10G 的存储已经被破坏,恢复了也不能用
    JKeita
        32
    JKeita  
       2025 年 4 月 23 日
    你们表结构都不存文档里吗
    lhsakudsgdsik
        33
    lhsakudsgdsik  
       2025 年 4 月 23 日
    年初的时候,客户的生产 mysql 数据库服务器的磁盘直接被人格式化了,根本恢复不了,只能找恢复公司,整盘恢复大概 5000 ,恢复之后 mysql 先是起不来并且还是很多表还是没数据,然后一个库 2000 修复了快一个月才搞定,整个过程非常头大,还是放弃吧建议
    lyle
        34
    lyle  
       2025 年 4 月 23 日
    十年前曾在生产环境误删数据,当时尝试用 EasyRecovery 之类的软件恢复无果,最终找据恢复公司解决了。记得他们通过远程使用 WinHex 对磁盘的剩余空间镜像,大概编了一个小程序读取数据库数据包头完成恢复。但数据库运行在物理机上,不确定 VHDX 格式是否仍有恢复可能性。
    hugebug
        35
    hugebug  
       2025 年 4 月 23 日
    表结构都没有的话 说实话 有点不规范啊
    liuliancao
        36
    liuliancao  
       2025 年 4 月 23 日
    问了 deepseek 推荐这个 R-Studio 建议先 dd 备份吧 然后再考虑操作 sqlserver 是 windows 的是吧
    yinmin
        37
    yinmin  
       2025 年 4 月 23 日 via iPhone
    pve 、pd 虚拟机里删文件会自动 trim 释放磁盘空间,我记得 vhdx 里删文件好像是不会自动 trim 数据的,并且 ntfs 是日志型,我感觉找专业公司是有恢复出来的可能性,建议 OP 找找专业公司。
    12345xw
        38
    12345xw  
       2025 年 4 月 23 日
    推荐 pc3000 ,B 站上的恢复数据 up 都用这个
    Brodess
        39
    Brodess  
       2025 年 4 月 23 日
    @dabao etl 用的 ssis 吗
    yinmin
        40
    yinmin  
       2025 年 4 月 23 日 via iPhone
    题外话,给 hyper-v 的建议,如何备份:

    1. 在 windows server 上新加一块备份专用 ssd 硬盘,也可以找一台 win server 的共享目录
    2. 为备份专用磁盘(或者共享目录所在磁盘)开启 windows server 的磁盘删除重复数据功能
    3. hyper-v 右键点击虚拟机,选择“导出”(虚拟机运行也可备份)到备份专用 ssd
    4. 建议每周备份一次,可以在“任务计划程序”里定期运行 powershell 指令自动导出虚拟机

    虚拟机开机备份,恢复出来的状态类似虚拟机备份时刻异常重启。由于启用了“磁盘删除重复数据”功能,你根本不用删历史备份,1 个 200GB 虚拟机每周备份一次保留 2 年历史备份,可能只占用了磁盘 250-300GB 空间。
    yinmin
        41
    yinmin  
       2025 年 4 月 23 日 via iPhone   ❤️ 1
    接#40 如果使用共享目录作为备份目标,优选 windows server 的共享目录,因为群晖等一众 nas 只有非常高端的企业型号才有“删除重复数据”功能,最便宜的能开启“删重”功能的,好像就是 win server 吧。
    lycoo
        42
    lycoo  
       2025 年 4 月 23 日
    开发库难道就没有导出过全库 sql ?或者任何一个备份。太奇怪了
    nm1st
        43
    nm1st  
       2025 年 4 月 23 日
    表结构都没有 这合理吗
    iceecream
        44
    iceecream  
       2025 年 4 月 23 日
    Rsstudio 试试。很好用,但是恢复出来的文件,在 mssql 上导入可能有逻辑问题
    chrawsl
        45
    chrawsl  
       2025 年 4 月 23 日
    hyper-v 不打快照的吗
    allendavis
        46
    allendavis  
       2025 年 4 月 23 日
    10G 了都没有一个备份或者表结构,说明不重要,没事儿继续造[doge]
    qping
        47
    qping  
       2025 年 4 月 23 日 via iPhone   ❤️ 1
    草台班子
    wwhc
        48
    wwhc  
       2025 年 4 月 24 日
    遇到这种情况,首先应该做的关机,用 linux 启动服务器,使用 dd 克隆物理硬盘/ssd
    GuangXiN
        49
    GuangXiN  
       2025 年 4 月 24 日
    没有一天一个快照这虚拟机是白用了
    2022study
        50
    2022study  
       2025 年 4 月 24 日
    如果从物理机器的文件系统中删除的用恢复软件还有些搞头,虚拟机的硬盘就不好讲了,如果是通过数据库管理软件删除的,那就基本没戏了。
    iamzcr
        51
    iamzcr  
       2025 年 4 月 24 日
    不是,你们表结构居然代码没 migrations 相关程序?你们更新咋办,直接手动去生产环境加字段?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1025 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:33 · PVG 07:33 · LAX 15:33 · JFK 18:33
    ♥ Do have faith in what you're doing.