您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

索引错误分析

使用 sp_iqcheckdb 分析索引一致性。

含有不一致的索引的输出示例

以下是运行 sp_iqcheckdb 并存在索引不一致问题时您所看到的输出类型的示例。DBCC 将显示有关所检查的索引的摘要信息和详细信息。报告顶部的 Index Summary 部分指出是否发现不一致的索引。不一致索引的名称和问题类型可在索引统计信息部分找到。带有星号 (***) 的行中包含有关不一致索引的信息。

在报告的错误中,存在额外的 RID 或其缺少、重复等错误是最常见的错误类型。这些错误表明索引错误地表示了数据,并可能会给出不正确的结果或导致其它故障。通常,这些错误会伴随有其它指出不一致的具体信息的错误。

在该示例中,DBCC 报告了不一致的 HNG 索引。因为相应的 FP 索引检查结果为良好,所以该 FP 索引可与 sp_iqrebuildindex 一起用于修复损坏的 HNG 索引。

该示例执行的命令行是 sp_iqcheckdb 'verify database' 。请注意,DBCC 生成的是一个详细的报告,但在该示例中已删除某些行的输出:

Stat                        Value                   Flags

========================|==================================|=====

DBCC Verify Mode Report |                                  |

========================|==================================|=====

DBCC Status          |Errors Detected                   |***

   DBCC Work units | |

Dispatched  |75                                |

   DBCC Work units | |

Completed   |75                                |

========================|==================================|=====

Index Summary           |                                  |

========================|==================================|=====

Inconsistent Index | |

Count    |1                                 |***

   Verified Index | |

Count        |85                                |

========================|==================================|=====

Index Statistics        |                                  |

========================|==================================|=====

Inconsistent Index   |contact.DBA.idx01_HNG             |***

   ...

   Verified Index |fin_data.DBA.ASIQ_IDX_T209_C3_HG  |

   Verified Index |fin_data.DBA.ASIQ_IDX_T209_C4_FP  |

   ...

   Verified Index |employee.DBA.ASIQ_IDX_T212_C19_FP |

   Verified Index |employee.DBA.ASIQ_IDX_T212_C20_FP |

   Verified Index |iq_dummy.DBA.ASIQ_IDX_T213_C1_FP  |

Extra Index RIDs     |5                                 |***

   FP Indexes Checked |68                                |

   HNG Indexes Checked |1                                 |

   HG Indexes Checked |17                                |

                        |                                  |

sp_iqcheckdb 检测到的不一致的索引是 contact.DBA.idx01_HNG。

当再次运行 sp_iqcheckdb 仅检查不一致的索引时,会生成以下 DBCC 输出。为该示例执行的命令行是 sp_iqcheckdb 'verify index DBA.contact.idx01_HNG' :

Stat                          Value                  Flags

=========================|==================================|=====

DBCC Verify Mode Report |                                  |

=========================|==================================|=====

DBCC Status           |Errors Detected                   |***

   DBCC Work units | |

Dispatched  |1                                 |

   DBCC Work units | |

Completed   |1                                 |

                         |                                  |

=========================|==================================|=====

Index Summary            |                                  |

=========================|==================================|=====

Inconsistent Index | |

Count    |1                                 |***

   Verified Index | |

Count        |1                                 |

                         |                                  |

=========================|==================================|=====

Index Statistics         |                                  |

=========================|==================================|=====

Inconsistent Index    |contact.DBA.idx01_HNG             |***

   Verified Index        |contact.DBA.ASIQ_IDX_T206_C1_FP   |

Extra Index RIDs      |5                                 |*****

   FP Indexes Checked    |1                                 |

   HNG Indexes Checked   |1                                 |

                         |                                  |

=========================|==================================|=====

DBCC 索引错误

DBCC 输出包含与索引问题有关的消息。

DBCC 消息描述/操作Inconsistent Index CountDBCC 找到的不一致索引数。Inconsistent IndexDBCC 找到的不一致索引名。Extra Index RIDsMissing Index RIDsDuplicate Index RIDs对于所有不一致的索引出现不一致的总行数。Bitmap Verify Errors所有数据库对象中不一致的位图的总数FP Lookup Table Inconsistencies无法修复的错误,其中单字节或双字节 FP 内部不一致。Non-Completed Index Count因为检查时发生异常导致无法验证的索引的数目。Non-Completed Index因为检查时发生异常导致未验证的索引的名称。如果异常为版本过高、内存不足或缓冲区不足错误,请提交 DBCC 连接并重新运行 DBCC。VDO Incorrect First Available FieldsVDO Incorrect Next Available FieldsVDO Incorrect Used Count FieldsVDO Incorrect In-use BitvecVDO Incorrect In-use BitmapVDO Incorrect Partial BitmapVDO Incorrect Deleted Bitmaps无法修复的错误,可能导致整个表无法访问。您必须强制删除不一致的表以解决这些错误。HG Missing GroupsHG Extra GroupsHG Extra KeysHG Missing KeysB-Tree Invalid Item CountB-Tree Invalid Item CountG-Array Empty Page ErrorsG-Array Bad Group Type ErrorsG-Array Out of Order Group ErrorsHigh Group 索引特定的错误。 