昨天上午客户那边突然挺了几次电,导致系统每次都非正常重启,最后正常后SQL SERVER服务却启动不了了,后来把数据库文件从Data目录中拷贝出来,重新安装SQL SERVER2000后再附加时提示错误823,后面没有任何其他信息,请问有什么办法可以解决不?非常急,谢谢各位啊!

解决方案 »

  1.   

    在附加数据库时,出现823错误时,可按以下方法操作:EXEC  sp_configure  'allow  updates',1    RECONFIGURE  WITH  OVERRIDE   /* 打开修改系统表的开关 */
     
    update  sysdatabases  set  status  =  32768  where  name  =  '数据库名'  
    DBCC  REBUILD_LOG  ('数据库名',  'E: dzzdatabase dzz1204_Log.LDF'  )  
    update  sysdatabases  set  status  =  0  where  name  =  '数据库名'  
    restore  database  数据库名  WITH  RECOVERY  
    EXEC  sp_configure  'allow  updates',0    RECONFIGURE  WITH  OVERRIDE    /* 关闭打开修改系统表的开关 */
      

  2.   

    错误 823
    严重级别 24
    消息正文
    在文件 ''%4!'' 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。解释
    Microsoft® SQL Server™ 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。对策
    检查该设备的可访问性和状态。如果可能,执行硬件诊断并纠正问题。从最新的数据库备份还原损坏的文件。从数据库备份中还原应始终是修复已损坏数据库的首选方法。如果没有备份或者检测到的错误是孤立的,则 DBCC CHECKDB 的修复功能可能很有用。然而,比起从备份中还原损坏的文件,可能使用 DBCC CHECKDB 消耗的时间更多,且可能无法恢复全部数据。