首页 > 编程知识 正文

怎么连接数据库(sql还原数据库失败)

时间:2023-05-03 12:43:30 阅读:65480 作者:2295

原始标题: SqlServer数据库损坏后的修复过程

故障说明:

用5个2T硬盘构建RAID5,为windows服务器分割LUN。 在windows服务器上安装Sql Server2008数据库。 存储空间中有三个逻辑分区: 500G、800G和2.3T。 数据库文件丢失。 主要涉及五个数据库,表的数量约为6000个。 原因不明,无法确定数据的保存位置。 这三个数据库的大小分别为8G、15G和20G。 即使文件丢失,服务器也保持通电状态,但没有写入大量数据。

初次检查流程:

1、使用RAID信息和内部块信息重组RAID。

RAID重组

2、提取LUN中的3个分区镜像。

3、扫描文件系统中的丢失文件,找不到已删除的数据库文件。

4、初次检查结果数据库文件丢失,无法从文件系统角度恢复。

恢复过程:

1、制定恢复计划。 一旦数据库文件被删除并确定无法恢复文件,则只能通过扫描数据页并提取页面中的记录来恢复。

2、组成数据页面扫描仪扫描并提取分区中的数据页面。 分别扫描两个分区镜像后,发现500G系统磁盘中的数据页数极少,数据页断裂情况严重,另一个分区中扫描的数据页数较多。 暂时而言,此分区是数据库文件的存储空间。

扫描数据页

3、重组系统表。 Sql Server数据库使用记录了每个表的列数、数据类型、约束信息等的系统表来管理所有用户表。 发现在分析系统表时提取的数据页面中的系统表损坏,无法成功读取信息。 通过与客户的交流,我们发现有备份文件,备份完成后表结构没有发生重大更改,系统表现在可用。

4、恢复备份。

恢复备份

5、分别提取三个库的各表结构信息

提取表结构信息

6、分析表格结构脚本。 将每个表的列信息保存到数据库中,以便以后使用。

扫描脚本文件

表结构信息存储在数据库中

7、分析系统表获取用户表id信息、关联表结构和数据页面。 (为了保护客户的隐私,下一步没有用户表名称和数据页面中数据部分的屏幕截图。)

8、创建新数据库,使用软件分析记录,并部署到恢复环境中。

9、整理恢复结果。 由于此分区中除了数据库文件外还存在一些备份文件,因此在导出记录后可能存在重复数据,必须重新定位。 重新构建SQL存储过程。

消除数据库的重量

10、客户验证数据。 客户确认数据后,表示数据已被接受,将数据传递到客户的存储设备,并成功恢复。 回到搜狐,多看看

责任编辑:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。