1。先备份MDF文件。
2。用DBCC CHECKDB命令处理。可能是硬盘有问题。

解决方案 »

  1.   

    DBCC CHECKDB
        ( 'database_name'
                [ , NOINDEX
                    | { REPAIR_ALLOW_DATA_LOSS
                        | REPAIR_FAST
                        | REPAIR_REBUILD
                        } ] 
        )    [ WITH { [ ALL_ERRORMSGS ]
                        [ , [ NO_INFOMSGS ] ]
                        [ , [ TABLOCK ] ]
                        [ , [ ESTIMATEONLY ] ]
                        [ , [ PHYSICAL_ONLY ] ] 
                        } 
            ] 这个命令可以修复数据库的存储分配错误。你可以先用 DBCC CHECKDB ( 'database_name') WITH ALL_ERRORMSGS 有什么错误信息。然后用 DBCC CHECKDB ( 'database_name', REPAIR_ALLOW_DATA_LOSS) 修复。可能会有个别表的数据丢失。
      

  2.   

    楼上的 我按照你的方法执行了
    DBCC CHECKDB ( 'superbox', REPAIR_ALLOW_DATA_LOSS) 
    但有以下错误信息出现Server: Msg 7919, Level 16, State 2, Line 1
    Repair statement not processed. Database needs to be in single user mode.
    DBCC execution completed. If DBCC printed error messages, contact your system administrator.我该如何处理呀?
      

  3.   

    USE master
    EXEC sp_dboption 'superbox', 'single user', 'TRUE' 
    go
    DBCC CHECKDB ( 'superbox', REPAIR_ALLOW_DATA_LOSS)
    go
      

  4.   

    USE master
    EXEC sp_dboption 'superbox', 'single user', 'TRUE' 
    go
    DBCC CHECKDB ( 'superbox', REPAIR_ALLOW_DATA_LOSS)
    go试用这个办法后....竟然打不开的那个表的数据全部丢了 :-(
    有没有更好的办法呀?