• SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:10202320,但实际为 0:0)


    问题背景:

    客户数据库检测到SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:10202320,但实际为 0:0)


    1> 日志如下:

    复制代码
     1 [09:24:55.125] {http--8080-81$879881269} at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273)
     2 [09:24:55.125] {http--8080-81$879881269} at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
     3 [09:24:55.125] {http--8080-81$879881269} at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730)
     4 [09:24:55.125] {http--8080-81$879881269} at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649)
     5 [09:24:55.125] {http--8080-81$879881269} at java.lang.Thread.run(Thread.java:662)
     6 [09:24:55.125] {http--8080-81$879881269} Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:10202320,但实际为 0:0)。
     8 在文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ecology.mdf' 中、偏移量为 0x000013759a0000 的位置对数据库 ID 5 中的页 (1:10202320) 执行 读取 期间,发生了该错误。
    10 SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;
    12 有关详细信息,请参阅 SQL Server 联机丛书。
    13 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
    14 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454)
    15 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388)
    16 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:338)
    17 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
    18 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
    19 [09:24:5
    复制代码

    解决:

    复制代码
    1 use db_name
    2 go
    3 ALTER DATABASE db_name SET SINGLE_USER
    4 go
    5 DBCC CHECKDB ('db_name', repair_allow_data_loss) with NO_INFOMSGS
    6 go
    7 ALTER DATABASE db_name SET MULTI_USER
    8 go
    复制代码

    修复结果如下:

    复制代码
     1 消息 8909,级别 16,状态 1,第 1 行 
     2 表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 0 (类型为 Unknown),页 ID (1:1748) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。 
     3 该错误已修复。 
     4 消息 8909,级别 16,状态 1,第 1 行 
     5 表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 0 (类型为 Unknown),页 ID (1:1749) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。 
     6 该错误已修复。 
     7 消息 8909,级别 16,状态 1,第 1 行 
     8 表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 0 (类型为 Unknown),页 ID (1:1750) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。 
     9 该错误已修复。 
    10 消息 8909,级别 16,状态 1,第 1 行 
    11 表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 0 (类型为 Unknown),页 ID (1:1751) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。 
    12 该错误已修复。 
    13 消息 8909,级别 16,状态 1,第 1 行 
    14 表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 0 (类型为 Unknown),页 ID (1:1772) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。 
    15 该错误已修复。 
    16 消息 8909,级别 16,状态 1,第 1 行 
    17 表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 0 (类型为 Unknown),页 ID (1:1773) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。 
    18 该错误已修复。 
    19 消息 8909,级别 16,状态 1,第 1 行 
    20 表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 0 (类型为 Unknown),页 ID (1:1774) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。 
    21 该错误已修复。 
    22 消息 8909,级别 16,状态 1,第 1 行 
    23 表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 0 (类型为 Unknown),页 ID (1:1775) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。 
    24 该错误已修复。 
    25 CHECKDB 发现有 0 个分配错误和 8 个一致性错误与任何单个的对象都没有关联。 
    26 CHECKDB 修复了 0 个分配错误和 8 个一致性错误,这些错误不与任何单个对象相关联。 
    27 修复: 页 (1:1772) 已从对象 ID 1694629080,索引 ID 0,分区 ID 111059211386880,分配单元 ID 111059211386880 (类型为 In-row data)释放。 
    28 修复: 页 (1:1773) 已从对象 ID 1694629080,索引 ID 0,分区 ID 111059211386880,分配单元 ID 111059211386880 (类型为 In-row data)释放。 
    29 修复: 页 (1:1774) 已从对象 ID 1694629080,索引 ID 0,分区 ID 111059211386880,分配单元 ID 111059211386880 (类型为 In-row data)释放。 
    30 修复: 页 (1:1775) 已从对象 ID 1694629080,索引 ID 0,分区 ID 111059211386880,分配单元 ID 111059211386880 (类型为 In-row data)释放。 
    31 修复: 已为数据库 'sssss' 中的对象 'dbo.MYCARGOOUTRECORD, IX_MYCARGOOUTRECORD_1' 成功地重新生成了 Nonclustered 索引。 
    32 修复: 已为数据库 'sssss' 中的对象 'dbo.MYCARGOOUTRECORD, IX_MYCARGOOUTRECORD' 成功地重新生成了 Nonclustered 索引。 
    33 消息 8928,级别 16,状态 1,第 1 行 
    34 对象 ID 1694629080,索引 ID 0,分区 ID 111059211386880,分配单元 ID 111059211386880 (类型为 In-row data): 无法处理页 (1:1772)。有关详细信息,请参阅其他错误消息。 
    35 该错误已修复。 
    36 消息 8928,级别 16,状态 1,第 1 行 
    37 对象 ID 1694629080,索引 ID 0,分区 ID 111059211386880,分配单元 ID 111059211386880 (类型为 In-row data): 无法处理页 (1:1773)。有关详细信息,请参阅其他错误消息。 
    38 该错误已修复。 
    39 消息 8928,级别 16,状态 1,第 1 行 
    40 对象 ID 1694629080,索引 ID 0,分区 ID 111059211386880,分配单元 ID 111059211386880 (类型为 In-row data): 无法处理页 (1:1774)。有关详细信息,请参阅其他错误消息。 
    41 该错误已修复。 
    42 消息 8928,级别 16,状态 1,第 1 行 
    43 对象 ID 1694629080,索引 ID 0,分区 ID 111059211386880,分配单元 ID 111059211386880 (类型为 In-row data): 无法处理页 (1:1775)。有关详细信息,请参阅其他错误消息。 
    44 该错误已修复。 
    45 消息 8945,级别 16,状态 1,第 1 行 
    46 表错误: 将重新生成对象 ID 1694629080,索引 ID 2。 
    47 该错误已修复。 
    48 消息 8945,级别 16,状态 1,第 1 行 
    49 表错误: 将重新生成对象 ID 1694629080,索引 ID 3。 
    50 该错误已修复。 
    51 CHECKDB 在表 'MYCARGOOUTRECORD' (对象 ID 1694629080)中发现 0 个分配错误和 4 个一致性错误。 
    52 CHECKDB 在表 'MYCARGOOUTRECORD' (对象 ID 1694629080)中修复了 0 个分配错误和 4 个一致性错误。 
    53 修复: 页 (1:1748) 已从对象 ID 2014630220,索引 ID 0,分区 ID 132030806097920,分配单元 ID 132030806097920 (类型为 In-row data)释放。 
    54 修复: 页 (1:1749) 已从对象 ID 2014630220,索引 ID 0,分区 ID 132030806097920,分配单元 ID 132030806097920 (类型为 In-row data)释放。 
    55 修复: 页 (1:1750) 已从对象 ID 2014630220,索引 ID 0,分区 ID 132030806097920,分配单元 ID 132030806097920 (类型为 In-row data)释放。 
    56 修复: 页 (1:1751) 已从对象 ID 2014630220,索引 ID 0,分区 ID 132030806097920,分配单元 ID 132030806097920 (类型为 In-row data)释放。 
    57 修复: 已为数据库 'sssss' 中的对象 'dbo.MYRECORDMEMORY, IX_MYRECORDMEMORY_1' 成功地重新生成了 Nonclustered 索引。 
    58 修复: 已为数据库 'sssss' 中的对象 'dbo.MYRECORDMEMORY, IX_MYRECORDMEMORY' 成功地重新生成了 Nonclustered 索引。 
    59 消息 8928,级别 16,状态 1,第 1 行 
    60 对象 ID 2014630220,索引 ID 0,分区 ID 132030806097920,分配单元 ID 132030806097920 (类型为 In-row data): 无法处理页 (1:1748)。有关详细信息,请参阅其他错误消息。 
    61 该错误已修复。 
    62 消息 8928,级别 16,状态 1,第 1 行 
    63 对象 ID 2014630220,索引 ID 0,分区 ID 132030806097920,分配单元 ID 132030806097920 (类型为 In-row data): 无法处理页 (1:1749)。有关详细信息,请参阅其他错误消息。 
    64 该错误已修复。 
    65 消息 8928,级别 16,状态 1,第 1 行 
    66 对象 ID 2014630220,索引 ID 0,分区 ID 132030806097920,分配单元 ID 132030806097920 (类型为 In-row data): 无法处理页 (1:1750)。有关详细信息,请参阅其他错误消息。 
    67 该错误已修复。 
    68 消息 8928,级别 16,状态 1,第 1 行 
    69 对象 ID 2014630220,索引 ID 0,分区 ID 132030806097920,分配单元 ID 132030806097920 (类型为 In-row data): 无法处理页 (1:1751)。有关详细信息,请参阅其他错误消息。 
    70 该错误已修复。 
    71 消息 8945,级别 16,状态 1,第 1 行 
    72 表错误: 将重新生成对象 ID 2014630220,索引 ID 2。 
    73 该错误已修复。 
    74 消息 8945,级别 16,状态 1,第 1 行 
    75 表错误: 将重新生成对象 ID 2014630220,索引 ID 3。 
    76 该错误已修复。 
    77 CHECKDB 在表 'MYRECORDMEMORY' (对象 ID 2014630220)中发现 0 个分配错误和 4 个一致性错误。 
    78 CHECKDB 在表 'MYRECORDMEMORY' (对象 ID 2014630220)中修复了 0 个分配错误和 4 个一致性错误。 
    79 CHECKDB 在数据库 'db_name' 中发现 0 个分配错误和 16 个一致性错误。 
    80 CHECKDB 在数据库 'db_name' 中修复了 0 个分配错误和 16 个一致性错误。
    复制代码

    修复完成后再查询这个表就正常了。

  • 相关阅读:
    android开发内存优化之软引用
    java 异步调用与多线程
    【转】生活中的OO智慧——大话面向对象五大原则
    Java算法 -- 顺序表
    Android 画闹钟
    Android 画指南针
    Android 工具类大全
    公共技术点之面向对象六大原则
    xml转对象1
    xml转对象
  • 原文地址:https://www.cnblogs.com/shujuyr/p/13084360.html
Copyright © 2020-2023  润新知