某天访问某个数据库的时候,系统报错。连上去看了一下,服务器是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,未报告错误。

SQL2008R2下数据库修复一例的更多相关文章

  1. Oracle 数据库修复一例

    Oracle 数据库修复一例:(系统装有两个实例,分别是:bhorcl,orcl)今天一台生产服务器的Oracle不能正常登录,用plSql登录,提示:TNS:listernet does noet ...

  2. 【教程】SQLite数据库修复

    SQLite 大家都知道,就不多说了. 有时候数据量大了,或者存储过程中出现异常,数据库就可能会出问题. 这是以前公司产品出现过的问题,导致软件都打不开了,我花了不少时间才解决的,趁现在有空贡献出来. ...

  3. 用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 工具 方法

    用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 硬盘误格式化.重分区.重装操作系统覆盖 SQL数据解决方法 [客户名称]:贵州铜仁市开天驾驶人培训中心 [软件名称]:用友T3普及 ...

  4. MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加

    微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...

  5. SQL数据库修复/数据库置疑修复

    SQL数据库修复的三大核心技术: 1.磁盘阵列分析重组技术: 2.数据库恢复与修复技术: 3.SCSI盘物理故障开盘技术. 至今已经成功恢复数百台服务器的SQL数据库,用户覆盖全国. 导致SQL数据库 ...

  6. sql server mdf碎片级数据库修复,数据库碎片级提取

    sql server mdf碎片级数据库修复,数据库碎片级提取   大家都知道MDF数据库文件一般都比较大,在磁盘中往往被存放到不连续的逻辑簇中,久而久之就形成了文件碎片,当文件被误删除或者格式化后, ...

  7. Windows平台上Caffe的训练与学习方法(以数据库CIFAR-10为例)

    Windows平台上Caffe的训练与学习方法(以数据库CIFAR-10为例) 在完成winodws平台上的caffe环境的搭建之后,亟待掌握的就是如何在caffe中进行训练与学习,下面将进行简单的介 ...

  8. 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效

    数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...

  9. .NET下数据库的负载均衡(有趣实验)(续)

    .NET下数据库的负载均衡(有趣实验)这篇文章发表后,受到了众多读者的关注与好评,其中不乏元老级程序员. 读者来信中询问最多的一个问题是:它是否能支持"异种数据库"的负载均衡?? ...

随机推荐

  1. WPF 精修篇 动态资源

    原文:WPF 精修篇 动态资源 动态资源 使用 DynamicResource 关键字 静态 就是 StaticResource 原则上是 能用静态就用静态 动态会让前台界面压力很大~ 动态资源引用 ...

  2. HTML+CSS学习笔记整理二

    盒子模型CSS(重点) 边框border     边框通常使用连写border:1px(边框大小) solid(实线或其他)  red(颜色) border-collapse:collapse (合并 ...

  3. WPF控件介绍(2)

    上一章讲到了布局.这点就有点类似建筑设计.第一步是出图纸.整体的结构.而第二步就是堆砌, 建筑学里面也会有很多描述, 例如砖头,水泥.玻璃.瓷板.而在WPF中, 这一切的基础也就是控件.用于填充结构的 ...

  4. oracle中查询一月的时间补0的问题

    sql语句 select NVL(B.weight, 0),A.time from (SELECT TO_CHAR(TO_DATE(开始时间, 'yyyy-MM-dd') + ROWNUM - 1, ...

  5. 搞Jedis案例出现问题,有大佬帮我看看怎么解决吗?先感谢大佬点进来看了---Day31

    今天学了Jedis的相关内容,然后做了一个案例,但是出现了错误,然后我百度了一晚上没有解决,想到看看发个博客能不能有大佬帮我看一下问题出现在哪里,百度了一晚上有点懵逼.求大佬帮我解决,在这小弟我先万分 ...

  6. drf--搜索、过滤、排序组件

    目录 drf--搜索.过滤.排序组件 过滤 DjangoFilterBackend 自定义过滤器django-filter模块 自定义过滤类 搜索SearchFilter 排序OrderingFilt ...

  7. 《Android开发艺术探索》读书笔记之IntentFillter的匹配规则

    使用intent启动不同组件的方法 组件类型 启动方法 Activity startActivity(Intent intent) startActivityForResult(Intent inte ...

  8. kubernetes集群内通过endpoint访问外部服务

    kubernetes内的服务访问集群外独立的服务最好通过endpoint方式,例如MySQL 1.创建mysql-service.yaml apiVersion: v1 kind: Service m ...

  9. 定时任务突然中止,告警:Thread starvation or clock leap detected

    1.背景 定时任务告警信息如下: 02:38:24.112 [HikariPool-1 housekeeper] WARN  com.zaxxer.hikari.pool.HikariPool - H ...

  10. MySQL连接超时处理

    1.由于MySQL默认是8小时的wait_timeout,当超过8小时的连接时间后,在JAVA中调用将出现如下报错 SEVERE EXCEPTION com.mysql.jdbc.exceptions ...