MSSQL数据库修复:如何修复已经损坏的SQL的MDF文件(100分)

  • 主题发起人 主题发起人 Ben.M
  • 开始时间 开始时间
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
各位,帮帮忙,急死我了!!!
是这样的:我的sql2000的备份文件,是手工从sql管理器里面完全备份出来的,放在D盘,由于其它原因,需要格式化d,但是我忘记了我的数据库的备份文件!!.........之后我用工具EasyRecovery找到了我的文件,恢复出来了
但是当我把这文件恢复到数据库的时候,总是提示错误。
然后我用了两种方式来恢复,第一,新建同名数据库,然后恢复->从设备...错误!但是这时候看到数据库的后面出现了'dbname'(正在装在)。这是后我停了服务器,在看data下面的MDF文件,有100多M,这时我把他拷贝出来了。
第二,从第一种方法出来的MDF文件,作为已经损坏了的MDF,我按很多人都知道的那种“只有MDF文件的数据库恢复”方法恢复了,这时候我看到数据库了也正常了,而且可以select系统表(在query analyzer里面),在企业管理器里面不可以打开‘table’,在分析器了也不可以select我的表,而且报错:
[Microsoft][ODBC SQL Server][SQL Server]I/O error(bad page ID)detected during read offset 0x00000001444000 in file'c:/Program Files........Data/dbname_Data.mdf'

我现在该怎么办啊?
 
数据库数据量大吗?
日志文件记录了所有操作吗?如果你没有人为的设置过、收缩过。日志应该有所有的操作的记录。用工具把日志读出来。
 
没有日志文件,现在的这个MDF文件都是我通过恢复得来的,现在几个系统表可以SELECT,比如sysobjects,sysmembers,而其它的系统表和所有的用户表,只有select就报错:

Server: Msg 823, Level 24, State 2, Line 1
I/O error (bad page ID) detected during read at offset 0x00000005b20000 in file 'C:/Program Files/Microsoft SQL Server/.../data/DBName_Data.MDF'.

Connection Broken

有人说要重建page ID 但是我不知道怎么弄?也有的说把数据抽取出来,怎么弄啊?
 
就没有人遇到过类似的嘛?
哥们儿,如果搞定可以一定的报酬,因为急~~~~~
 
Server: Msg 823, Level 24, State 2, Line 1
基本上是没办法啦,数据库出现物理损坏!试试看DBCC CheckDB(dbname,allow_data_loss)
可见数据备份是多么重要的事,虽然简单!
 
就没有人可以解决?
 
就没有人可以解决?
 
找专门的数据恢复的公司做吧,如果是物理损坏估计神仙也没辙了。
 
我等~在这里
 
真的没有救了?
现在是我把数据提取出来了,但是数据库结构不能还原,各位有招嘛?
 
一定要顶上
 
如果只是格式损坏估计还有办法
如果是数据丢失
估计就不行了
对了
你恢复文件的时候有什么提示吗?
恢复了部分还是完全恢复了
 
后退
顶部