
数据恢复的原理,你如果了解了硬盘的结构以后你会发现,我们的数据保存到有存储介质的盘片上,当我们保存数据的时候,就会在盘片上做凸凹不平而保存数据。如果我们删除了文件的时候,我们并没有把所有的凸凹不平的介质抹掉,而是把它的地址给抹去,而让 *** 作系统找不到这个文件,而认为它已经消失,可以在这个地方写数据,把原来的凸凹不平的数据信息给覆盖掉了,所以数据恢复的原理是,如果没被覆盖,我们就可以用软件,突破 *** 作系统的寻址和编址方式,重新找到那些没被覆盖的地方的数据并组成一个文件,如果几个小地方被覆盖,可以用差错效验位来纠正,如果覆盖太多,那么就每办法恢复了!所以提倡如果发现文件丢失,立即找数据恢复公司恢复,不要做任何 *** 作!
区别就在于,个人恢复的可能不会完全恢复,出现乱码,而数据恢复公司一般会100%恢复.
发生介质故障后,磁盘上的物理数据和日志文件被破坏,这是最严重的一种故障,恢复方法是重装数据库,然后重做已完成的事务。具体地说就是:
1 装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。
对于动态转储的数据库副本,还须同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。
2 装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即:
首先扫描日志文件,找出故障发生时已提交的事务的标识,将其记入重做队列。
然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。
这样就可以将数据库恢复至故障前某一时刻的一致状态了。
数据库镜像
1、SQL数据库恢复模型
----------------------------------------------------------------------
1)完全恢复模型
-----------------
(1)备份时要备份数据库的数据文件和日志文件
(2)还原时使用数据库的备份的数据文件副本和全部日志信息来恢复数据库。
(3)能还原全部数据,并可以将数据库恢复到任意指定的时刻。
(4)为保证实现即时点恢复,对数据库的所有作都将完整地记入日志,这样,日志占用空间较大,对性能也有所影响。
------------------
(2)大容量日志记录恢复模型
------------------
(1)备份时要备份数据库的数据文件和日志文件
(2)还原时使用数据库的备份的数据文件副本和全部日志信息来恢复数据库。
(3)日志中不记录作细节(如select into、create index等),而只记录作的最终结果,因此占用日志空间小。
(4)只支持将数据库还原到事务日志备份的时刻,而不支持即时点恢复,因此可能产生数据丢失。
-------------------
(3)简单恢复模型
-------------------
(1)备份时只备份数据文件,还原时也用备份的数据文件恢复数据库。
(2)只能将数据恢复到数据文件备份的时刻,可能产生最多的数据丢失。
(3)不适于生产系统和大规模作环境下选用。
-----------------------------------------
alter database d1 set recovery simple --设置数据库恢复模型
alter database d1 set recovery bulk_logged
alter database d1 set recovery full
不并发控制的话会带来一系列问题:数据冗余、更新异常、插入异常、删除异常等
并发控制保证事务4个特性,acid:a:原子性(atomicity)
事务是数据库的逻辑工作单位,事务中包括的诸 *** 作要么全做,要么全不做。c:一致性(consistency)
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。i:隔离性
(isolation)
一个事务的执行不能被其他事务干扰。
d:持续性/永久性(durability)
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
以上就是关于什么是数据库恢复全部的内容,包括:什么是数据库恢复、数据库原理中,介质故障的恢复方法有哪些(最少五种)、sql server中有哪些数据备份和数据恢复功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)