数据库通常是我们服务端运行软件应用的必备,只要是提供互联服务的应用基本都有使用到数据库,不管是mysql还是其他的数据库一旦数据误删、损坏等等情况一出现那么我们简直是头皮发麻,这篇文章就来讲解技术人员是怎么通过技术手段恢复的。
1、数据库恢复的原理
数据库恢复的原理是在数据库发生故障后建立冗余数据,并在故障后利用冗余数据完成数据库恢复。数据转储和日志文件构建是构建冗余数据的常用技术手段。一般两种技术手段会同时使用。
2.故障恢复的两种操作
故障恢复有两个操作:UNDO和REDO。
2.1撤销操作
撤销事务就是撤销一个未完成的事务,这样数据库就可以在事务执行之前恢复到正确的状态。
撤销事务的过程:反向扫描未完成的事务日志,找到事务的更新操作;反转事务的更新操作,然后将日志文件记录中更新前的值写入数据库,从数据库中删除插入的记录,并将删除的记录重新插入数据库;
继续反向扫描日志文件,重复上述操作,直到事务开始签名。
2.2重做事务
重做事务是重新执行提交的事务。
重做事务的过程:从事务的开始标记开始,向前扫描日志文件,重新执行日志文件在事务上向数据库注册的所有操作,直到事务的结束标记。
3.故障恢复策略介绍
对于不同的数据故障,应该采取不同的恢复策略。
3.1交易故障恢复
事务失败在事务运行到正常终止点(提交、回滚)之前终止。日志文件只有事务的开始标识符,没有结束标识符。通常,这种故障的恢复是通过取消失败的事务并将数据库恢复到事务执行前的正确状态来完成的。
事务恢复步骤如下:
反向扫描文件日志以查找事务的更新操作
撤消事务的更新操作
继续反向扫描日志文件,直到事务开始标记
注意:事务故障恢复由系统自动完成,对用户透明。
3.2系统故障的恢复
系统故障将导致数据库中的数据不一致。主要原因:未完成事务对栈的更新操作可能已经写入数据库;提交的事务对数据库的更新在写入数据库之前可能仍在缓冲区中。系统故障数据恢复需要撤销未完成的事务和重做提交的事务。
3.3介质故障的恢复
介质故障被数据库破坏,需要重新加载数据库,加载故障前最新的备份和日志文件副本,然后根据系统故障的恢复过程进行撤销和重做操作。
注意:数据库管理员应参与介质故障,加载数据库副本和日志文件副本,然后数据库系统将执行撤消和重做操作。
当然以上这些恢复步骤只是一个通俗的讲解,实际的恢复过程往往是通过计算机的应用编程实现的恢复过程,所以我们非专业人员只需要借助专业的软件来恢复数据库丢失的数据就可以了,比如易我sql数据恢复软件就是比较实用的sql数据恢复软件。
如何恢复MS SQL数据库?
步骤 1: 选择损坏的数据库进行修复
使用「‧‧」选择损坏的数据库文档,点击「修复」。

步骤 2: 查找要修复的数据
分析后,找到需要修复的数据。

步骤 3: 预览并导出修复的数据库
预览修复的数据库。单击「导出」保存修复的数据库。

恢复数据就用易我
数据恢复软件
本文为原创,转载请注明原网址:https://hf.yiwodisk.com/SQLhf/408.html
本文关键词:
上一篇:
现在删数据库再也不流行跑路了 下一篇:没有了!