SQL数据恢复总结

数据恢复是对数据库进行备份和还原,当数据库因为各种原因被损坏或者无法读取的时候,会造成无法估量的后果,这个时候就需要数据库还原工具,进行还原。

数据库故障分为“软故障”和“硬故障”两种,“软故障”是因为断电导致软件方面的故障,“硬故障”是因为物理硬件坏了,导致数据库破损。相当于电脑的操作系统故障和物理设备的故障。

数据库恢复分为完全备份和增量备份,完整备份效果最好,但是比较消耗时间;增量的备份保存的是对数据库的操作,在完整备份的基础上,使用增量备份也可以达到还原要求,但是增量备份时间消耗比较少,所以在选择数据库还原策略的时候,因为根据实际情况选择完全备份和增量备份。


全部总结链接

SQL基础   (数据库、表、数据的增删改查、视图相关,以及所有实验报告源代码)

游标 (类似C++ 的 指针)

存储过程(类似 C++ 的自定义函数)

触发器 (类似 自定义的陷阱,或者说是监听器,满足某个条件了执行某个方法)

用户权限及权限管理 (类似Windows的多用户管理)

并发控制 (了解多个用户同时对数据造成错误的情况 和 解决方法)

数据恢复(当数据库数据丢失,相应的解决方法)

课程名称   数据库基础            

实验项目   实验15 数据恢复       


实验要求:

(1)软故障后的恢复

     参照例题中的程序设计事务及事务处理的程序;

     模拟软故障的情形,使设计的事务及事务处理程序的各个分支都可以执行到;

     体会事务的原子性和一致性。

(2)硬故障后的恢复

     针对一个具体的数据库设计一个备份恢复策略;

     做数据库全备份和若干增量备份(每次备份后都有一些数据操作);

     模拟一个硬故障(假设数据库损坏);

     备份当前日志;

     恢复数据库。

(3)在实验报告中要给出具体的操作步骤和过程,并针对各种情况做出具体的分析和讨论。


实验过程

 

首先是概念问题。数据库恢复是建立在数据库故障之上的。数据库故障分为软故障和硬故障,软故障指的是突然停电、应用程序被强制结束的情况下,数据库的数据丢失或者损坏。硬故障指的是保存数据库的物理介质坏了,造成数据的遗失或者无法读取。

总体思路:

第一题:然而机房的电脑自带重启还原,无法实现断电重启的条件,我让一个事务(若干修改指令中间加了一个等待指令,以便我使用任务管理器强制关闭sql server),因为事务的原子性,虽然等待指令前的修改指令已经被执行,但是因为事务未完全执行完毕,所以被还原恢复。

第二题:题目给出了条件是“假设数据库损坏”,我先把数据库完整备份,然后把数据库脱机,最后把数据库恢复。

代码截图:

第一题:软故障后的恢复

图 1 首先看到原始的 学时 数据为6

图 2  设计一个事务 内有若干更新操作 中间加一个等待期

图 3   在等待期内 使用任务管理器 强制结束

 

 

图 4   再次登入数据库  查看学时数据  还是为6,说明事务完全没有执行

 

第二题:硬故障后的恢复

图 5  首先对‘学生管理系统‘进行完整备份

图 6 然后模拟 硬故障 删除该数据库

 

图 7  接着还原数据库 覆盖还原

图 8   接着打开还原的数据库 发现数据和原先一致

原文地址:https://www.cnblogs.com/yyzwz/p/13393254.html