当前位置:Gxlcms > 数据库问题 > SQL 错误 823 I/O error (bad page ID) detected during read【修复方法】

SQL 错误 823 I/O error (bad page ID) detected during read【修复方法】

时间:2021-07-01 10:21:17 帮助过:7人阅读

  • Go     
  •    
  • DBCC CHECKDB(‘数据库名‘, REPAIR_ALLOW_DATA_LOSS)     
  • Go     
  •    
  • sp_dboption ‘数据库名‘, ‘single user‘,‘false‘     
  • Go  

  • 我比较庆幸,通过以上语句就可以修复了。
    以下是网上的一段摘要,我没有测试,先记录下来,以后或许有用。

    [sql] view plaincopy  
      1. 方案1:调用DBCC   CHECKDB(‘db_name’,repair_rebuild)修复   
      2.   
      3. 方案2:若方案1失败,采用下面的方法试一试:   
      4. 首先,在企业管理器中新建一数据库(如数据库名为test),建好数据库后,停止SQL Server Service Manager,  
      5. 并将客户数据库的MDF文件更名为test_data.mdf(即新建数据库的主文件名),  
      6. 然后用更名后的文件覆盖新建数据库同名文件,  
      7. 接着,启动企业管理器。对Master数据库将系统表设置为可更改状态     
      8.   
      9. Use   Master     
      10. Go     
      11.   
      12. sp_configure ‘allow updates ‘, 1     
      13. reconfigure with override     
      14. Go     
      15.   
      16. 将数据库设为紧急状态:     
      17. update sysdatabases set status = 32768 where name = ‘database‘    
      18.    
      19. 停止并重新启动SQL Server Service Manager,并重建Log文件:    
      20. DBCC TRACEON   (3604)     
      21. DBCC REBUILD_LOG( ‘test‘, ‘test_log_ldf ‘)     
      22.   
      23. 将数据库设置为单用户模式,然后进行检测:     
      24. sp_dboption  ‘test‘, ‘single user ‘, ‘true‘     
      25. DBCC   CHECKDB( ‘test‘)     
      26. Go     
      27.   
      28. 此数据库执行CHECKDB的过程中发现一些表的索引被破坏,于是针对具体的表进行重建索引的操作:     
      29. DBCC   DBREINDEX(表名)     
      30.   
      31. 方案3:若无法修复,则只能重备份中进行恢复.  

    SQL 错误 823 I/O error (bad page ID) detected during read【修复方法】

    标签:

    人气教程排行