zoukankan      html  css  js  c++  java
  • SQL2008R2下数据库修复一例

    某天访问某个数据库的时候,系统报错。连上去看了一下,服务器是SQL2008R2。由于有上次修复的经验,先使用DBCC查看数据库情况。

    DBCC的返回:

    XXXXXXXXXXX发生异常数据库 ID 7,页 (1:1350625) 已标记为 RestorePending,可能表明磁盘已损坏。要从此状态恢复,请执行还原操作。

    消息 8978,级别 16,状态 1,第 1 行
    表错误: 对象 ID 1195151303,索引 ID 2,分区 ID 72057594063421440,分配单元 ID 72057594074234880 (类型为 In-row data)。页 (1:387592) 缺少上一页 (1:1350625) 对它的引用。可能是因为链链接有问题。
    消息 8928,级别 16,状态 1,第 1 行
    对象 ID 1195151303,索引 ID 2,分区 ID 72057594063421440,分配单元 ID 72057594074234880 (类型为 In-row data): 无法处理页 (1:1350625)。有关详细信息,请参阅其他错误消息。
    消息 8939,级别 16,状态 98,第 1 行
    表错误: 对象 ID 1195151303,索引 ID 2,分区 ID 72057594063421440,分配单元 ID 72057594074234880 (类型为 In-row data),页 (1:1350625)。测试(IS_OFF (BUF_IOERR, pBUF->bstat))失败。值为 12716041 和 -6。
    消息 8976,级别 16,状态 1,第 1 行
    表错误: 对象 ID 1195151303,索引 ID 2,分区 ID 72057594063421440,分配单元 ID 72057594074234880 (类型为 In-row data)。在扫描过程中未发现页 (1:1350625),但该页的父级 (1:1231035) 和上一页 (1:799122) 都引用了它。请检查以前的错误消息。

    考虑到该数据库为生产数据库,且频繁读写,DBCC修复时间无法预计,故尝试手工修复。

    首先查看ID为1195151303的对象:

    select * from sys.objects where object_id='1195151303'

    查询结果显示该对象是一个数据表,名称就是DBCC信息开始的表名。

    注意到出错信息显示“索引 ID 2”,怀疑是索引损坏,查询该表所有索引

    select * from sys.indexes where object_id='1195151303'

    结果显示,该索引是一个非聚集索引兼主键。

    删除并重建该索引,再次DBCC,未报告错误。

  • 相关阅读:
    如何查看Linux进程详情?(ps命令)
    6款免费网络延迟测试工具
    Java中的JVM和Redis,你了解的透彻么?
    thinkPHP 5/thinkPHP 5.1 的apache重写文件
    redisclient客户端管理工具
    鼠标经过时切换图片
    点击页面元素页面向上滚动
    MongoDB客户端管理工具--MongoDB Compass
    JS继承
    JavaScript面向对象基础
  • 原文地址:https://www.cnblogs.com/firstrose/p/7550645.html
Copyright © 2011-2022 走看看