none
sql server 2005 数据库质疑 RRS feed

  • 问题

  • 现有sql server 2005质疑数据库 .mdf和.ldf文件,这个数据库没有任何备份,在生产中发现数据库是质疑的状态,无法使用,然后把质疑的数据库拿到另一台机器上尝试恢复,我重建一个和这个数据库同名的数据库,然后停止数据库服务,然后把坏的那个数据库的mdf文件替换进来,然后把数据库变成紧急模式和单用户状态,再用dbcc checkdb(质疑数据库),dbcc checkdb(质疑数据库,repair_allow_data_loss)修复数据库,可是数据库报消息时824,有逻辑上的i/o错误,效验结果不正确,请问我该怎么把这个数据库中的数据提取出来

    错误:
    MedImg的 DBCC 结果。
    CHECKDB 在数据库 'MedImg' 中发现 0 个分配错误和 0 个一致性错误。
    消息 824,级别 24,状态 2,第 1 行
    SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x723209f2,但实际为: 0x722a11c2)。
    在文件 'D:\database\MedImg.mdf' 中、偏移量为 0x00000000082000 的位置对数据库 ID 7 中的页 (1:65) 执行 读取 期间,
    发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,
    必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。

    2010年8月4日 5:32

答案

全部回复

  • 記得以前處理質疑問題的時候,經過開啟緊急模式和單用戶模式之後,會有一段時間正常,但是可能一重啟又質疑了.

    當時利用中間這個間隙,將數據倒出來了.

    當時是SQLServer 2000.


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2010年8月4日 7:06
  • 你好,在这种情况下,您是怎么把数据库从数据库导出来的呢,是工具?还是什么,我试过了,我这个导不过来,是因为不能连接上这个数据库。

    我还想问一下,我现在有ldf这个文件,我能不能用什么方法,读取ldf的内容,就像读取txt文件那样,然后给据内容去建立数据库。 谢谢!

    2010年8月4日 7:43
  • You can't read log if the db is in suspect, try set it to emergency first then try repair. Lesson to learn: always keep good backup of production databases. 
    2010年8月5日 0:45
  • 一般应急修复模式下数据可以只读, 除非损坏很严重.

    ALTER DATABASE db_name SET EMERGENCY;   -- 将数据库设置为应急修复模式.

    2010年8月5日 4:38
  • 谢谢大家,请问如果我想用编写一个程序,然后用这个程序是加载mdf文件,然后提取mdf的数据,然后保存成一个insert的一个批处理脚本,现在就是我怎么能用编写的程序加载mdf文件,哪块有这方面的资料,然后又能找到那些记录数据呢?给我提一个思路?我找了好长时间了,我的程序功能就像recovery toolbox for sqlserver

    注释:如c++、c#等哪种语言编写都行。

    2010年8月9日 6:51
  • Hi,

    >现在就是我怎么能用编写的程序加载mdf文件,哪块有这方面的资料,然后又能找到那些记录数据呢?给我提一个思路?

    可通过SQL-DMO来创建一个类似 backup/resotre 的工具。参考:

    http://www.aspfree.com/c/a/VB.NET/Simple-BackupRestore-Utility-With-SQLDMO-Using-VBNET/2/

    Thanks.


    Microsoft Online Community Support Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    2010年8月10日 3:05
    版主