SQLServer数据库恢复教程
SQL Server是⼀个可扩展的、⾼性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统⽅案。本次需要进⾏数据恢复的服务器是⼀台r520型号存储,共有7块SAS硬盘分别组成RAID1和RAID5两组磁盘阵列。
主要SQL Server数据库存放在C盘中,在使⽤过程中,客户发现C盘容量即将占满,于是将数据库路径指向了D盘,在D盘⽣成了⼀个.ndf⽂件。
客户在继续使⽤了⼤约10天之后,数据库出现故障,连接失效,⽆法正常附加查询。在遇到这种情况是应该如何进⾏正确操作呢?
sqlserver备份表语句【备份数据】
考虑到数据的安全性以及可还原性,在做数据恢复之前需要对所有源数据做备份,以防万⼀其他原因导致数据⽆法再次恢复。使⽤dd命令或winhex⼯具将所有磁盘都镜像成⽂件。
【故障分析】
⾸先分析故障原因:由于数据库⽂件所在磁盘容量不⾜,导致数据库⽆法继续正常运⾏,出现逻辑错误;
再分析RAID组结构:客户服务器上共7块300G硬盘,其中2块硬盘做RAID 1,⽤于安装操作系统,其余5块硬盘做RAID 5存放数据。分析RAID 1和RAID 5的相关结构,重组虚拟出RAID 1和RAID 5,查看其中数据。
再分析原始数据库⽂件:由于客户在数据库发⽣故障之后,进⾏过多次数据库恢复尝试,并且每⼀次尝试都是在源环境下进⾏的,导致原始数据库⽂件被更改覆盖,并且磁盘空间被多次复写,⽆法使⽤尝试恢复之后的数据库⽂件进⾏修复。询问客户得知,客户在数据库发⽣故障的时候,备份过⼀分原始的故障数据库⽂件。
【数据库修复】
从虚拟出的RAID 5空间中将客户之前备份的数据库⽂件拷贝出来,尝试在数据库中附加,附加失败。错误提⽰主数据库⽂件和次级数据库⽂件不匹配,查看.ndf⽂件底层,发现.ndf⽂件中⼏乎没有数据,尝试取消.mdf⽂件和.ndf⽂件之间关联,只⽤.mdf⽂件进⾏附加。
尝试后发现,只⽤.mdf⽂件附加时也发⽣错误,但是错误提⽰改变。
此时错误提⽰⽇志⽂件(.ldf)和数据库⽂件(.mdf)不匹配。之后对数据库尝试进⾏⽆数据库附加,附加成功。但是发现数据库系统表损坏,⽆法正常使⽤。对数据库的系统表尝试修复,但由于系统表损坏过于严重,⽆法修复。
【数据库记录提取】
解析数据库⽂件中的数据库记录,编写相应的程序提取数据库⽂件中的数据库记录。根据客户以前的数据库备份获取数据库中的表结构,重构表结构并肩提取出的数据库记录导⼊到新的表中,进⾏数据验证,如数据没有问题,即本次数据恢复成功。
【北亚数据恢复⼩贴⼠】
在数据库使⽤过程中,要合理分配数据库⽂件所在的磁盘空间,及时清理垃圾数据,保证数据库的正常及安全运⾏,如遇到故障情况时,当不知道如何正确操作时,请及时联系相关专业数据恢复⼯程师进⾏数据恢复操作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。