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

SQL Server 数据库损坏修复
本文介绍了 SQL Server 数据库出现 I/O 错误 (bad page ID) 的原因及两种常见修复方法。一种是在附加数据库时出现问题的情况,另一种是能够成功附加数据库但在查询时出现错误的情况。文中提供了具体的 T-SQL 语句来修复数据库。
今天一个数据库损坏了,不管对 该表 查询、修改、添加 都会出错, 错误信息如下:

    I/O error (bad page ID) detected during read at offset 0x0000000171a000 in file “路径\文件”
    连接中断


导致错误的可能性有:
     1:服务器在正常运行的情况下突然断电,导致数据库文件损坏。
     2:对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。
 但对于以上问题都是无法避免的,庆幸的时,网上找到了解决方法(如下)

当出现这个问题的时候,可能有2种情况:
    1 :附加数据库时,提示 错误:823 
     2:能成功附加数据库,但查询、修改 某个指定表时,出现  I/O error (bad page ID) detected during 错误。
 
解决方法:
     第一个 附加数据库问题,可以参考:http://blog.csdn.net/shazhuyubaichi/article/details/6696031

     第二个问题:

sp_dboption '数据库名','single user','true'   
Go   
 
DBCC CHECKDB('数据库名', REPAIR_ALLOW_DATA_LOSS)   
Go   
 
sp_dboption '数据库名', 'single user','false'   
Go

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

方案1:调用DBCC   CHECKDB(‘db_name’,repair_rebuild)修复 

方案2:若方案1失败,采用下面的方法试一试: 
首先,在企业管理器中新建一数据库(如数据库名为test),建好数据库后,停止SQL Server Service Manager,
并将客户数据库的MDF文件更名为test_data.mdf(即新建数据库的主文件名),
然后用更名后的文件覆盖新建数据库同名文件,
接着,启动企业管理器。对Master数据库将系统表设置为可更改状态   

Use   Master   
Go   

sp_configure 'allow updates ', 1   
reconfigure with override   
Go   

将数据库设为紧急状态:   
update sysdatabases set status = 32768 where name = 'database'  
 
停止并重新启动SQL Server Service Manager,并重建Log文件:  
DBCC TRACEON   (3604)   
DBCC REBUILD_LOG( 'test', 'test_log_ldf ')   

将数据库设置为单用户模式,然后进行检测:   
sp_dboption  'test', 'single user ', 'true'   
DBCC   CHECKDB( 'test')   
Go   

此数据库执行CHECKDB的过程中发现一些表的索引被破坏,于是针对具体的表进行重建索引的操作:   
DBCC   DBREINDEX(表名)   

方案3:若无法修复,则只能重备份中进行恢复.



    

Authorized users only. All activities may be monitored and reported. Activate the web console with: systemctl enable --now cockpit.socket ZXSK-YSYC-7 login: [10999.689621] print_req_error: I/O error, dev sda, sector 0 [11000.318378] Buffer I/O error on device dm-0, logical block 111214090 [11001.193689] Buffer I/O error on device dm-0, logical block 111214091 [11001.203070] Buffer I/O error on device dm-0, logical block 111214092 [11004.805762] Buffer I/O error on device dm-0, logical block 108572673 [11004.805809] Aborting journal on device dm-0-8. [11004.816519] EXT4-fs (dm-0): ext4_writepages: jbd2_start: 832 pages, ino 27131915; err -30 [11004.816522] Buffer I/O error on dev dm-0, logical block 70811648, lost sync page write [11004.824662] EXT4-fs error (device dm-0): ext4_journal_check_start:61: comm kworker/u129:1: Detected aborted journal [11004.842929] JBD2: Error -5 detected when updating journal superblock for dm-0-8. [11004.850308] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [11004.857585] EXT4-fs (dm-0): I/O error while writing superblock [11004.863393] EXT4-fs (dm-0): Remounting filesystem read-only [11004.868947] EXT4-fs (dm-0): ext4_writepages: jbd2_start: 832 pages, ino 27132119; err -30 [11155.075123] Aborting journal on device sda2-8. [11155.079558] Buffer I/O error on dev sda2, logical block 131072, lost sync page write [11155.087270] JBD2: Error -5 detected when updating journal superblock for sda2-8. [11160.128455] FAT-fs (sda1): Directory bread(block 408) failed [11160.134102] FAT-fs (sda1): Directory bread(block 409) failed [11160.139747] FAT-fs (sda1): Directory bread(block 410) failed [11160.145386] FAT-fs (sda1): Directory bread(block 411) failed [11160.151023] FAT-fs (sda1): Directory bread(block 412) failed [11160.156659] FAT-fs (sda1): Directory bread(block 413) failed [11160.162295] FAT-fs (sda1): Directory bread(block 414) failed [11160.167931] FAT-fs (sda1): Directory bread(block 415) failed [11160.173567] FAT-fs (sda1): Directory bread(block 416) failed [11160.179203] FAT-fs (sda1): Directory bread(block 417) failed [11226.300023] FAT-fs (sda1): Directory bread(block 408) failed [11226.305671] FAT-fs (sda1): Directory bread(block 409) failed [11226.311316] FAT-fs (sda1): Directory bread(block 410) failed [11226.316955] FAT-fs (sda1): Directory bread(block 411) failed [11226.322595] FAT-fs (sda1): Directory bread(block 412) failed [11226.328231] FAT-fs (sda1): Directory bread(block 413) failed [11226.333867] FAT-fs (sda1): Directory bread(block 414) failed [11226.339503] FAT-fs (sda1): Directory bread(block 415) failed [11226.345139] FAT-fs (sda1): Directory bread(block 416) failed [11226.350774] FAT-fs (sda1): Directory bread(block 417) failed [11337.344788] EXT4-fs error (device dm-0): ext4_remount:5658: comm mount: Abort forced by user [11337.353219] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [11337.360501] EXT4-fs (dm-0): I/O error while writing superblock [11352.343658] EXT4-fs error (device dm-0): ext4_remount:5658: comm mount: Abort forced by user [11352.352085] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [11352.359366] EXT4-fs (dm-0): I/O error while writing superblock [11368.559373] EXT4-fs error (device dm-0): ext4_remount:5658: comm mount: Abort forced by user [11368.567805] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [11368.575085] EXT4-fs (dm-0): I/O error while writing superblock [18387.542842] Buffer I/O error on dev dm-0, logical block 144, async page read [18387.549869] Buffer I/O error on dev dm-0, logical block 145, async page read [18387.556890] Buffer I/O error on dev dm-0, logical block 146, async page read [18387.563912] Buffer I/O error on dev dm-0, logical block 147, async page read [18387.570933] Buffer I/O error on dev dm-0, logical block 148, async page read [18387.577952] Buffer I/O error on dev dm-0, logical block 149, async page read [18387.584971] Buffer I/O error on dev dm-0, logical block 150, async page read [18387.591991] Buffer I/O error on dev dm-0, logical block 151, async page read [18387.599010] Buffer I/O error on dev dm-0, logical block 152, async page read [18387.606029] Buffer I/O error on dev dm-0, logical block 153, async page read [19773.911150] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19773.922389] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19773.933490] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19773.935741] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19773.940773] EXT4-fs (dm-0): I/O error while writing superblock [19773.952047] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19773.957664] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19773.968823] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19773.976016] EXT4-fs (dm-0): I/O error while writing superblock [19773.976023] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19773.987135] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19773.992903] EXT4-fs (dm-0): I/O error while writing superblock [19773.992910] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19774.000204] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19774.011259] EXT4-fs (dm-0): I/O error while writing superblock [19774.011265] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19774.017177] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19774.024344] EXT4-fs (dm-0): I/O error while writing superblock [19774.024350] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19774.035445] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19774.041230] EXT4-fs (dm-0): I/O error while writing superblock [19774.041237] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19774.048691] EXT4-fs error (device dm-0): ext4_find_entry:1514: inode #27131979: comm journalctl: reading directory lblock 0 [19774.059586] EXT4-fs (dm-0): I/O error while writing superblock [19774.059592] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19774.120993] EXT4-fs (dm-0): I/O error while writing superblock [19774.126808] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [19774.134087] EXT4-fs (dm-0): I/O error while writing superblock [278024.971840] Buffer I/O error on dev dm-0, logical block 1120, async page read [278024.979040] Buffer I/O error on dev dm-0, logical block 1121, async page read [278024.986234] Buffer I/O error on dev dm-0, logical block 1122, async page read [278024.993427] Buffer I/O error on dev dm-0, logical block 1123, async page read [278025.000619] Buffer I/O error on dev dm-0, logical block 1124, async page read [278025.007812] Buffer I/O error on dev dm-0, logical block 1127, async page read [278025.015004] Buffer I/O error on dev dm-0, logical block 1128, async page read [278025.022197] Buffer I/O error on dev dm-0, logical block 1129, async page read [278025.029389] Buffer I/O error on dev dm-0, logical block 1130, async page read [278025.036581] Buffer I/O error on dev dm-0, logical block 1131, async page read [279478.949021] EXT4-fs error (device dm-0): ext4_remount:5658: comm mount: Abort forced by user [279478.957544] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [279478.964911] EXT4-fs (dm-0): I/O error while writing superblock [280325.696604] EXT4-fs error (device dm-0): ext4_remount:5658: comm mount: Abort forced by user [280325.705122] Buffer I/O error on dev dm-0, logical block 0, lost sync page write [280325.712488] EXT4-fs (dm-0): I/O error while writing superblock [280361.819944] EXT4-fs error (device dm-0): ext4_remount:5658: comm mount: Abort forced by user [280361.828450] Buffer I/O error on dev dm-0, logical block 0, lost sync page write
最新发布
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值