[原创] SQL数据库修复案例-故障造成原因

[复制链接]

该用户从未签到

87

主题

402

回帖

6388

积分

[INTOHARD]团长

Rank: 8Rank: 8

积分
6388
QQ
发表于 2013-11-25 21:14:28 | 显示全部楼层 |阅读模式
  案例:思讯软件
故障:意外断电导致数据库无法访问
附加提示:

数据库容量5G

根据SQL附加的错误提示,判断为头或启动页面损坏,经过对头和启动页面的整体分析没有发现明显损坏主要数据全部完整。
通过数据5个月前的备份库,进行比对分析和尝试性修复故障库,最终确定为启动页面损坏、修复后直接附加,DBCC检测通过


整个修复过程不到10分钟,为客户挽回数百万账目。

在此和大家分享一下数据库修复的一些常识和对故障的判断.

SQL数据库最常见损坏故障 823  824 错误  此类问题 大部分都是系统表损坏造成,系统表也就是新建一个空库系统生成的表如图


sysobjects 是系统主表里面记录了 所有表的 name  id xtype uid info  status ====属性其中通过主表里面的 id可以定位到
所有表分部的页面地址  823 824 等错误超过95%以上都是此表损坏造成,要恢复数据,那就必须要修复系统表的损坏数据。

对于一些常见的修复软件 更多的情况是修复后少数据、存储过程,视图等等 导致软件下无法正常使用。

sysindexes 系统索引  
sysfiles 系统文件(此表包含数据名称,数据库的总页面,以及存放路径==)系统表的更多资料可以通过网络学习


SQL 的常见故障不是有效的数据库文件,此类故障则更多是头或启动页面检测失败造成,此类故障的修复最好通过备份库获取相应的头或
启动页面信息来修复,成功的概率更高,如果没有备份库、那也可以尝试生成新的数据来代替,修复效果要远比常见的SQL修复软件
Stellar_Phoenix_SQL_Recovery  D-Recovery  systools  sql 等软件 直接修复的效果好上很多 设置可以修复后可以直接附加 使用。  

对于大家用 软件修复后无法在客户端正常使用或者看到表数据无法导出的情况,无法处理可与我联系;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  • TA的每日心情
    开心
    2024-2-6 09:21
  • 签到天数: 7 天

    [LV.3]八品县丞

    1

    主题

    67

    回帖

    88

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    88
    发表于 2013-12-21 09:28:09 | 显示全部楼层
    非常感谢楼主,详细图文并茂。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-25 02:29
  • 签到天数: 45 天

    [LV.5]六品通判

    16

    主题

    419

    回帖

    1240

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1240
    QQ
    发表于 2013-12-24 10:49:32 | 显示全部楼层
    如此高尚的帖子极少见啦,非常感谢楼主!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    168

    回帖

    162

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    162
    发表于 2014-1-7 16:48:40 | 显示全部楼层
    好东西 谢谢分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-5-16 10:49
  • 签到天数: 237 天

    [LV.7]四品道员

    2

    主题

    410

    回帖

    1540

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1540
    QQ
    发表于 2014-8-12 00:02:20 | 显示全部楼层
    服务器: 消息 8946,级别 16,状态 12,行 2
    表错误: 分配页 (1:56616) 的 PFS_PAGE 页首结构值无效。类型为 0。请检查该页上的类型、对象 ID 和页 ID。
    服务器: 消息 8921,级别 16,状态 1,行 1
    CHECKTABLE 已终止。收集事实数据时检测到失败。可能是因为 tempdb 空间用尽或某一系统表不一致。请检查前面的错

    误信息。
    服务器: 消息 8906,级别 16,状态 1,行 1
    扩展盘区 (1:53659)(属于数据库 ID 7)在 SGAM (1:3) 和 PFS (1:48528) 中进行了分配,但未在任何 IAM 中进行过

    分配。PFS 标志 'MIXED_EXT ALLOCATED   0_PCT_FULL'。
    服务器: 消息 8906,级别 16,状态 1,行 1
    扩展盘区 (1:53660)(属于数据库 ID 7)在 SGAM (1:3) 和 PFS (1:48528) 中进行了分配,但未在任何 IAM 中进行过

    分配。PFS 标志 'IAM_PG MIXED_EXT ALLOCATED   0_PCT_FULL'。
    服务器: 消息 8948,级别 16,状态 1,行 1
    数据库错误: 页 (1:53660) 用错误的类型进行了标记(在 PFS 页 (1:48528) 中)。PFS 状态为 0x70,而预期为 0x60


    服务器: 消息 8906,级别 16,状态 1,行 1
    扩展盘区 (1:53661)(属于数据库 ID 7)在 SGAM (1:3) 和 PFS (1:48528) 中进行了分配,但未在任何 IAM 中进行过

    分配。PFS 标志 'MIXED_EXT ALLOCATED   0_PCT_FULL'。
    服务器: 消息 8906,级别 16,状态 1,行 1
    扩展盘区 (1:53662)(属于数据库 ID 7)在 SGAM (1:3) 和 PFS (1:48528) 中进行了分配,但未在任何 IAM 中进行过

    分配。PFS 标志 'MIXED_EXT ALLOCATED   0_PCT_FULL'。
    服务器: 消息 8906,级别 16,状态 1,行 1
    扩展盘区 (1:53663)(属于数据库 ID 7)在 SGAM (1:3) 和 PFS (1:48528) 中进行了分配,但未在任何 IAM 中进行过

    分配。PFS 标志 'IAM_PG MIXED_EXT ALLOCATED   0_PCT_FULL'。
    服务器: 消息 8909,级别 16,状态 1,行 1
    表错误: 对象 ID 0,索引 ID 0,页 ID (1:53663)。页首结构中的 PageId = (0:0)。
    服务器: 消息 8928,级别 16,状态 1,行 1
    对象 ID 0,索引 ID 0: 未能处理页 (1:53663)。详细信息请参阅其它错误。
    服务器: 消息 8909,级别 16,状态 1,行 1
    表错误: 对象 ID 0,索引 ID 0,页 ID (1:56616)。页首结构中的 PageId = (0:0)。
    服务器: 消息 8998,级别 16,状态 1,行 1
    GAM、SGAM 或 PFS 页上的页错误导致 CHECKALLOC 无法验证数据库 ID 7 中从 (1:56616) 到 (1:64703) 的页。原因请

    参阅其它错误信息。
    服务器: 消息 8909,级别 16,状态 1,行 1
    表错误: 对象 ID 0,索引 ID 0,页 ID (1:64704)。页首结构中的 PageId = (0:0)。
    服务器: 消息 8998,级别 16,状态 1,行 1
    GAM、SGAM 或 PFS 页上的页错误导致 CHECKALLOC 无法验证数据库 ID 7 中从 (1:64704) 到 (1:72791) 的页。原因请

    参阅其它错误信息。
    'SD203N_1' 的 DBCC 结果。
    CHECKDB 发现了 11 个分配错误和 1 个一致性错误,这些错误并不与任何单个的对象相关联。
    CHECKDB 发现了 11 个分配错误和 1 个一致性错误(在数据库 'SD203N_1' 中)。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
    请教一下,这个该如何去修呢,能给个思路么(1:非常感谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-5-16 10:49
  • 签到天数: 237 天

    [LV.7]四品道员

    2

    主题

    410

    回帖

    1540

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1540
    QQ
    发表于 2014-8-13 15:03:29 | 显示全部楼层
    服务器: 消息 8966,级别 16,状态 1,行 1
    未能读取并闩锁页 (1:7765)(用闩锁类型 SH)。sysobjects 失败。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
    这个是系统表坏了,没有备份(36:
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-7-20 16:20
  • 签到天数: 79 天

    [LV.6]五品郎中

    5

    主题

    353

    回帖

    9394

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    9394
    QQ
    发表于 2014-11-4 18:18:17 | 显示全部楼层
    据库修复案例-故障造成原
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-7-20 16:20
  • 签到天数: 79 天

    [LV.6]五品郎中

    5

    主题

    353

    回帖

    9394

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    9394
    QQ
    发表于 2014-11-4 18:18:46 | 显示全部楼层
    好东西 谢谢分享
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表