补充,数据库的mdf和 ldf都还在!我直接在查询窗口里面输入 sp_resetstatus MyCustomer还是不行。 重新启动 MSSQL也不可以。请问怎么修复?还有,DBCC CheckDB('MyCustomer') 用了,不能执行。试问用什么方法,或者工具才能修复?

解决方案 »

  1.   

    日志文件可能损坏,先备份起来,然后删除日志文件,尝试以下方法恢复:无数据库日志文件恢复数据库方法:  数据库日志文件的误删或别的原因引起数据库日志的损坏   1.新建一个同名的数据库  2.再停掉sql server(注意不要分离数据库)  3.用原数据库的数据文件覆盖掉这个新建的数据库  4.再重启sql server  5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)  6.完成后一般就可以访问数据库中的数据了。   这时,数据库本身一般还要问题(不要停止服务器,否则以上步骤要重新做)   解决办法是:创建一个新的数据库,并DTS导入导出向导将数据导进去就行了.USE master
    GO
    SP_CONFIGURE 'allow updates',1 RECONFIGURE WITH OVERRIDE
    GO
    UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
    GO
    SP_DBOPTION '置疑的数据库名', 'single user', 'true'
    GO
    DBCC CHECKDB('置疑的数据库名') 
    GO
    UPDATE SYSDATABASES SET STATUS =28 WHERE NAME='置疑的数据库名'
    GO
    SP_CONFIGURE 'allow updates', 0 RECONFIGURE WITH OVERRIDE
    GO
    SP_DBOPTION '置疑的数据库名', 'single user', 'false'
    GO
      

  2.   

    各位兄弟帮忙看看我执行USE master
    GO
    SP_CONFIGURE 'allow updates',1 RECONFIGURE WITH OVERRIDE
    GO
    UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='MyCustomer'
    GO
    SP_DBOPTION 'MyCustomer', 'single user', 'true'
    GO
    DBCC CHECKDB('MyCustomer') 
    GO
    UPDATE SYSDATABASES SET STATUS =28 WHERE NAME='MyCustomer'
    GO
    SP_CONFIGURE 'allow updates', 0 RECONFIGURE WITH OVERRIDE
    GO
    SP_DBOPTION 'MyCustomer', 'single user', 'false'
    GO===================以下是出错信息============================
    配置选项 'allow updates' 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。
    消息 259,级别 16,状态 1,第 1 行
    不允许对系统目录进行即席更新。
    消息 926,级别 14,状态 1,第 1 行
    无法打开数据库 'MyCustomer'。恢复操作已将该数据库标记为 SUSPECT。有关详细信息,请参阅 SQL Server 错误日志。
    消息 5069,级别 16,状态 1,第 1 行
    ALTER DATABASE 语句失败。
    sp_dboption 命令失败。
    消息 824,级别 24,状态 2,第 1 行
    SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x41944068,但实际为: 0x3e37ddb8)。在文件 ''F:\dataBase\Business\MyCustomer.mdf' 中、偏移量为 0x000000000e8000 的位置对数据库 ID 17 中的页 (1:116) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。
    消息 3313,级别 21,状态 2,第 1 行
    在重做数据库 'MyCustomer' 的日志中记录的操作时,日志记录 ID (59:451:4) 出错。通常,特定故障以前会在 Windows 事件日志服务中记录为错误。请利用完整备份还原数据库,或者修复该数据库。
    消息 3414,级别 21,状态 1,第 1 行
    恢复期间出错,导致数据库 'MyCustomer' (数据库 ID 17)无法重新启动。请诊断并纠正这些恢复错误,或者从已知的正确备份中还原。如果无法更正错误,或者为意外错误,请与技术支持人员联系。
      

  3.   

    再试:1、EXEC sp_configure 'allow updates', 1 
       RECONFIGURE WITH OVERRIDE 
    2、修改数据库Master中的表:sysdatabases 
       将 status字段数值更改为4 
    3、再执行如下SQL: 
       EXEC sp_configure 'allow updates', 0 
       RECONFIGURE WITH OVERRIDE