然后把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'看看数据可以看吗?恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override

解决方案 »

  1.   

    DBCC DBREINDEX         重建指定数据库中表的一个或多个索引
    DBCC INDEXDEFRAG       整理指定的表或视图的聚集索引和辅助索引碎片
    DBCC UPDATEUSAGE       报告和更正 sysindexes 表的不正确内容,
                           该内容可能会导致通过 sp_spaceused 
                           系统存储过程产生不正确的空间使用报表
      

  2.   

    Transact-SQL 参考  
    DBCC
    Transact-SQL 编程语言提供 DBCC 语句作为 Microsoft® SQL Server™ 2000 的数据库控制台命令。这些语句对数据库的物理和逻辑一致性进行检查。许多 DBCC 语句能够对检测到的问题进行修复。数据库控制台命令语句被分为以下类别。语句分类 执行 
    维护语句 对数据库、索引或文件组进行维护的任务。  
    杂项语句 诸如启用行级锁定或从内存中删除动态链接库 (DLL) 等杂项任务。 
    状态语句 状态检查。 
    验证语句 对数据库、表、索引、目录、文件组、系统表或数据库页的分配进行的验证操作。 
    SQL Server 2000 的 DBCC 语句使用输入参数和返回值。所有 DBCC 语句参数都可以接受 Unicode 和 DBCS 字面值。使用 DBCC 结果集输出
    许多 DBCC 命令可以产生表格格式的输出(使用 WITH TABLERESULTS 选项)。该信息可装载到表中以便将来使用。以下显示一个示例脚本:-- Create the table to accept the results
    CREATE TABLE #tracestatus (
       TraceFlag INT,
       Status INT
       )-- Execute the command, putting the results in the table
    INSERT INTO #tracestatus 
       EXEC ('DBCC TRACESTATUS (-1) WITH NO_INFOMSGS')-- Display the results
    SELECT * 
    FROM #tracestatus
    GO维护语句
    DBCC DBREINDEXDBCC DBREPAIRDBCC INDEXDEFRAGDBCC SHRINKDATABASEDBCC SHRINKFILEDBCC UPDATEUSAGE杂项语句
    DBCC dllname (FREE)DBCC HELPDBCC PINTABLEDBCC ROWLOCKDBCC TRACEOFFDBCC TRACEONDBCC UNPINTABLE状态语句
    DBCC PINTABLEDBCC OPENTRANDBCC OUTPUTBUFFERDBCC PROCCACHEDBCC SHOWCONTIGDBCC SHOW_STATISTICSDBCC SQLPERFDBCC TRACESTATUSDBCC USEROPTIONS验证语句
    DBCC CHECKALLOCDBCC CHECKCATALOGDBCC CHECKCONSTRAINTSDBCC CHECKDBDBCC CHECKFILEGROUPDBCC CHECKIDENTDBCC CHECKTABLEDBCC NEWALLOC©1988-2000 Microsoft Corporation。保留所有权利。