北京邮电大学计算机学与技术大三数据库第9次实验报告.docx
《北京邮电大学计算机学与技术大三数据库第9次实验报告.docx》由会员分享,可在线阅读,更多相关《北京邮电大学计算机学与技术大三数据库第9次实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
![北京邮电大学计算机学与技术大三数据库第9次实验报告.docx](https://file1.bdocx.com/fileroot1/2023-4/18/fb978a5f-7b74-42e8-b379-f55dcfaf3f8d/fb978a5f-7b74-42e8-b379-f55dcfaf3f8d1.gif)
北京邮电大学计算机学与技术大三数据库第9次实验报告
北京邮电大学
实验报告
课程名称数据库系统概念实验名称数据库备份与恢复实验
_计算机_系_302_班姓名华逸群
_计算机_系_302_班姓名魏乐业
教师_叶文吴起凡_成绩_________
2013年6月6日
实验目的
1.理解SQLSERVER数据库的数据备份和恢复机制。
2.掌握SQLSERVER数据库的数据备份和恢复的基本概念,例如备份方式(增量备份和完全备份)、备份介质(文件或者设备)等等。
3.掌握备份和恢复的实际操作,能够备份和将备份恢复,特别是能够恢复到一个新的数据库中。
4.理解备份/维护策略或备份/维护计划的概念。
实验环境
采用SQLSERVER数据库管理系统作为实验平台。
其中,SQLSERVER数据库可以采用SQLSERVER2005、2008或2012的企业版。
备份(Backup)和恢复(Restore)为最强有力的恢复手段,它不仅仅应用于保护数据库,而是应用于保护一切信息:
我们对于操作系统或者其它各种信息(诸如多媒体文件)等都可以进行备份,待事故时进行恢复。
由于硬件故障、用户错误、应用程序故障、软件故障、某用户拥有过多权限、局部灾难等可能导致数据库故障,所以DBA(数据库管理员)必须在平时做好备份工作,而且因为故障发生时刻是未知的,还必须做多个备份,从而可以恢复到故障前尽可能短时间的数据库状态以减少损失。
DBA必须做好备份/恢复计划,并实际验证之,以确保故障时能够恢复数据库。
实验内容与步骤
一、校验数据库
在执行数据库备份之前,首先必须保证数据库的一致性。
这里最重要的工具是:
DBCC。
可以用两种方法运行DBCC:
通过命令行窗口或查询分析器(QueryAnalyzer)窗口。
如果你认为必要,你还可以确定其操作的时间。
(我从未感到有必要这样做,因为在微软的所有产品中,我对SQLServer的稳定性最为自信。
我认为它是雷蒙德推出的最佳产品。
但是,感觉也可能出错。
)
DBCC命令包括以下扩展:
CheckDB:
检测整个数据库的一致性,是检查数据库破坏的基本方法。
CheckTable:
检测特定表的问题。
CheckAlloc:
检测数据库的单个页面,包括表和目录。
Reindex:
重建某个特定表的目录。
CacheStats:
说明当前存储在内存缓存中的对象。
DropCleanBuffers:
释放当前存储在缓冲区中的所有数据,这样你就可以继续进行检测,而不必使用前面的结果。
Errorlog:
删除(缩短)当前日志。
1.检查整个数据库的有效性
(1)校验整个数据库的有效性;
2.校验单个表
(1)校验单个表的有效性
二、备份数据库
选定一个数据库:
1.执行完全备份
2.执行部分备份
3.在下列基于SQLSERVER2008的备份类型中任意执行3种,并解释其含义
a)差异备份
b)仅复制备份
c)大容量事务日志备份
4.执行压缩备份
三、恢复数据库
1.恢复完整备份为一个新的数据库,要求新数据库内容和老数据库一样,下同。
2.恢复部分备份为一个新的数据库。
3.恢复压缩备份为一个新的数据库。
四、备份恢复方法比较
1.新建一个空数据库,试用导入和导出向导将数据从旧数据库复制到新数据库中。
2.新建一个空数据库,将“GSM移动通信网络配置数据库”备份直接恢复到该数据库中。
比较两者的差异。
两种恢复方法的比较
第一种方法中,源数据直接可以导出到备份数据。
,该新数据库与备份时的原数据库完全相同。
第二种方法则通过原数据库的档案备份进行恢复。
因为档案备份文件按照数据库内建的格式,保存了原数据库的所有信息(数据库属性、数据、日志),因此采用该方法,只需要提供原数据库的档案备份文件,数据库就会自动地生成新数据库,并恢复为原数据库的数据。
五、创建维护计划
1.运行sp_configure打开服务器配置选项。
2.在SQLSERVER2008ManagemnetStudio中打开管理文件夹,下面有新建维护计划等,按照向导操作。
设置每天凌晨1点自动执行备份,当然实际上为了安全应该在DBCC完成后再进行,现在也可以设置成备份是在某时刻运行,但同时一定要在DBCC结束后才行,这样如果DBCC运行时间加长,则备份时间就算到了,也会自动推迟到DBCC结束后。
实验总结
在实验中有哪些重要问题或者事件?
你如何处理的?
你的收获是什么?
有何建议和意见等等。
刚开始使用dbcc指令时,由于原来将数据库建立在系统数据库的master端,所以在想使用指令时遇到系统要求使用singeruser的要求,后来在看了下边的要求后,先将数据备份,又恢复到一个新数据库中才解决此问题。
各种备份方式啊,真多。
都不好找,废了半天功夫只找到了为数不多的几个备份方式,方式真的很多,还需要继续努力,去掌握这纷繁复杂的备份方式。
数据导出时不知道该选取何种方式,后来与其他组请教之后明白直接可以从一个数据库导出到另一个数据库。
数据库是一个大千世界,想了解他还需要继续努力。