需要帮助恢复损坏的 SQL 数据库

use*_*488 6 hacking data-recovery sql-server

我有一个非常特殊的案例,我已经研究了好几天。我有一个非常大的 SQL Server 2008 数据库(大约 2 TB),其中包含 500 个文件组来支持非常大的分区表。最近,我们在其中一个驱动器上发生了灾难性故障,丢失了几个文件组,并且数据库无法访问。

我们每天都在进行文件组备份,但由于其他问题,我们丢失了日志和主文件组的最新备份。我们备份了所有数据,但主文件组备份是旧的。

自主文件组备份以来没有架构更改,但 lsn 现在完全不同步,我们无法恢复数据。

我已经尝试了我能想到的所有方法(并且尝试了几乎所有我可以谷歌搜索的技巧和技巧),但我仍然在同一点收到消息说文件组 x 的文件与主文件组不匹配。我现在正在尝试编辑系统表(我们有一个单独的临时环境来执行此操作,因此我们不担心损坏任何生产数据库)。我尝试过更新 sys.sysdbreg、sys.sysbrickfiles 和 sys.sysprufiles 以试图欺骗 SQL 认为所有文件都在线,但是“Select * From OPENROWSET(TABLE DBPROP, 5)”显示的数据库状态与什么不同我在 sys.sysdbreg 中看到。

我现在想我需要以某种方式编辑实际数据文件的标题,以尝试将 lsn 与主文件对齐。

我感谢任何人可以在这里给我的任何帮助,但请不要回复诸如“您不应该编辑 mdf、ndf 文件....”或“请参阅 msdn 文章....”等。这是一个高级的紧急情况,我需要一个真正的黑客,这样我们就可以在这个损坏的数据库中获取数据并导出到一个新的数据库。我知道有一种方法可以做到这一点,但不知道 DBPROP 系统函数的作用(即它是查看系统表还是实际打开文件)使我无法弄清楚如何欺骗 SQL 以允许我读取这些文件。

谢谢你的帮助。

mrd*_*nny 7

我看到你的未来有两种选择。

  1. 致电 PSS 并开票。和他们一起去任何地方都需要一段时间。
  2. 打电话给 SQLskills(具体来说是保罗),看看他能做什么。我知道 Paul 之前曾使用十六进制编辑器成功地将数据库恢复原状。保罗并不便宜,但他会完成工作。

祝你好运。


Tom*_*Tom 3

致电 Microsoft PSS:打开 A 级支持案例。不会有比这更好的了。期待付款。可能很多。