我正在尝试恢复几个 dev-dbs,其中数据目录位于无意中删除的跨区分区上。我们能够使用恢复软件恢复文件夹/文件,但是实际的 MDF 文件似乎有一些问题。
任何连接或修复的尝试都将失败,并出现以下情况:
SQL Server 检测到基于逻辑一致性的 I/O 错误:页面损坏(预期签名:0x00000000;实际签名:0x7bd02384)。它发生在读取文件“G:\data\database.mdf”中数据库 ID 9 中偏移量 0000000000000000 处的页面 (1:0) 期间。
我尝试过的步骤:
- 为附加创建数据库
- dbcc checkdb(database, repair_allow_data_loss) - 在创建空数据库并将 MDF 文件复制到新数据库之后)
注意 - 恢复过程识别了具有不同扩展名的同一文件的几个不同版本,我已经尝试过每个文件,同样的错误。没有备份。
还有什么可以尝试的吗?
页面 (1:0) 上的残缺页检测错误表示主数据库文件的主页面已损坏。此页面包含有关数据库的大量重要详细信息。我的一个数据库的示例输出
DBCC PAGE
显示:如果第一页已损坏,这可能意味着您没有正确修复已删除的文件系统。
显然,拥有一个经过良好测试的恢复计划,即使是开发数据库,也可能被认为是一件好事™