第五章 备份和还原<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
实验案例一:当程序文件破坏,数据文件保存良好时,进行恢复
"实验目标
1. 通过实验掌握对最常见的系统故障进行数据恢复的技能,并加深体会数据库备份恢复的原理,以及通过实验更好地理解和总结如何设置数据库备份策略和设置数据文件的存储位置,以避免不可恢复的情况发生。
2. 其中,对于master数据文件被破坏的情况下如何进行数据恢复也是需要掌握的重要技能。可以根据理论章节提供的步骤作为选做去尝试一下。
"需求分析
系统恢复后要保证:
1. SQL Server能够正常运行。
2. 数据库包含tt,而且使用sa的密码123进行登录。
"实验环境
1. 先确认本机SQL Server2005已经附加或创建了数据库tt,并设置sa的密码为123。
2. tt数据库文件的目录统一存放在C:\tt中。
3. 确认xit 数据库文件的目录位置,拷贝出这些数据文件。
4. 卸载掉SQL Server2005,模拟程序文件被损坏。(本实验是该了master数据库的名称,效果一样,都是模拟数据库程序文件损坏)
"推荐步骤
首先到dos下启动服务:

命令如下:

打开数据库:

先用Windows身份验证登录:

数据库属性:

安全性"设置服务器身份验证模式为混合模式:


Sa"属性

修改sa的密码为123

授予sa连接数据库引擎,并启用登录:

停止服务,并重新启动一下服务:

使用sa账户连接数据库:

新建数据库:

数据库名为haha:

在haha的数据库上新建一个表:


表名为tt:

打开表并填写内容:

内容如下:

开始备份:

先做一次完整备份:


然后再打开表填写内容:

填写好后做一次差异备份:


再次打开表填写内容:

然后做一次事务日志备份:


实验案例二:当数据库文件被破坏,日志文件保持良好时,完全恢复数据库信息
"需求分析
数据库在以下情况下,要能够做到完全恢复。
1. 有一次完整备份。
2. 日志文件保存良好。
"实验环境
1. 在haha数据库中建立表tt(实验案例一已经建好,案例二就直接引用)
2. 输入三行数据。
3. 做一次完整备份,备份文件名为testback
4. 备份后再输入两行数据
5. 停止服务,将数据库文件名修改为haha1
6. 再次启动服务,重新打开表tt,系统提示错误信息。
"推荐步骤
1. 备份日志文件,备份到与完整备份同样的备份文件上。
2. 从备份文件恢复数据库,选择刚备份的日志文件和完整备份进行恢复。
先执行完整恢复:

先执行完整恢复:

因为没有点选选项里的覆盖现有数据库:

选择覆盖现有数据库:

完整恢复完成:

打开表验证,验证成功!

做差异恢复:

同样要点选覆盖现有数据库:

差异恢复完成:

打开表验证,验证成功!

实验案例三:数据录入错误时,恢复到出错前的状态
"需求分析
系统恢复后要保证:
1. SQL Server里的haha数据库能够正常运行。
2. tt表处于可用状态。
3. 数据库haha的数据表tt里面的数据要保证恢复到第一个即时点。
"实验环境
1. 使用实验案例二的数据库haha的数据表tt。
2. 录入两行记录,假设第2条记录录入错误,希望通过数据恢复,将第2条录入的数据清除掉。
第一次录入,假设现在时间9:45分,输入记录10
第二次录入,假设现在时间9:48分,录入记录11
现在假设第二条录入错了,希望尽快恢复,将第二次录入的数据清楚掉。
"推荐步骤
1.右击数据库选择恢复,选择从数据库恢复

2.选择完整备份和除了最新一次事务备份的所有其他事务日志备份

3.选择“选项”,选择“覆盖现有数据库”,选择“RESTORE WITH NORECOV-ERY”

选择从日志恢复
1.右击数据库选择恢复,选择从事务日志恢复

2.选择最新的事务日志(浏览,选择具体的时刻点)

覆盖现有数据库:

事务日志恢复完成:

打开表进行验证,验证成功!

转载于:https://blog.51cto.com/caohongjiang/314774