ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:800.40KB ,
资源ID:6054570      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6054570.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验六 数据库备份与恢复.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

实验六 数据库备份与恢复.docx

1、实验六 数据库备份与恢复数据库原理实验报告一.实验目的:了解备份还原的概念掌握SQL Server的备份方法会选择适合的备份策略掌握常见故障的还原方法一、实验使用环境: SQL server 2012二、实验内容与完成情况:1. 用系统内置的存储过程sp_addumpdevice创建一个备份设备SalesDatabase_Bak,保存在D盘根目录下,查看系统中有哪些备份设备。-题目1-在E:Sale_bak创建本地磁盘备份文件exec sp_addumpdevice disk,SalesDatabase_Bak,E:Sale_bak-查看系统有哪些备份设备exec sp_helpdevice运

2、行截图:也可手动创建:实验小结:通过代码可以看到,添加一个名为SalesDatabase_Bak的磁盘备份设备,物理名为E:Sale_bak,且在数据库目录中:/服务器对象/备份设备/,目录下可以看到名为SalesDatabase_Bak的备份设备。2. 为销售管理数据库设置一个备份计划,名为SaleBackPlan,要求每天在上午 12:00:00 和下午 12:00:00 之间每2小时执行数据库日志备份。操作过程:连接数据库,在 管理 列表中找到 维护计划 ,右键点击 维护计划 选择 维护计划向导 ,名称为:SaleBackPlan. 点击更改:进行以下设置:选择SaleBackPlan执

3、行计划,计划类型为:重复执行。频率为:每天执行,每天执行的频率为:开始时间为12点,结束时间为0点,间隔为2小时,最下方说明中有详细的介绍。点击下一步,选择备份数据库(事务日志)选择特定数据库且为 销售管理数据库:操作完成:实验小结:本题操作过程并不复杂,但是需要提前知道操作流程,注意细节问题即可3. 新建一个数据库Sa1es1,使用DTS向导将前面已建的Sales数据库中的所有表导入到Sales1数据库中。要求不立即运行,而是创建一个Sales备份包,然后再执行运行。操作过程:数据源为 销售管理 数据库目标为 Sale1 数据库选择所有表:默认为:立即执行,此处按照题目要求选择 保存SSIS

4、包:包名为 Sale1备份包成功执行:以管理员方式打开SQL Server 连接完成后可以找到之前建立的SSIS包,右击,运行包。操作完成后可以看到成功导入所有表和数据。4用命令方式实现下列功能: 1)在D盘根目录创建一个名为:Sales备份的本地磁盘备份文件2) 查看系统中有哪些备份设备。3) 创建数据库Sales的完全备份4) 创建数据库Sales的事务日志备份。 5) 从备份设备Sales备份的完整数据库备份中恢复数据库Sales。 6) 删除特定备份设备。 7)创建储存过程,实现备份数据库,输入二个参数,第一个是数据库名,第二个参数是备份类型。并以当前系统时间作为备份名。例如:备份名为

5、: stu_2019-0606.bak1)在E盘根目录创建一个名为:Sales备份的本地磁盘备份文件-在d:Sale_bak创建本地磁盘备份文件exec sp_addumpdevice disk,Sales,E:2)查看系统中所有备份设备。-查看系统有哪些备份设备exec sp_helpdevice运行结果:3)创建数据库Sales的完全备份-创建销售管理的完全备份backup database 销售管理 to Disk_sales运行结果:4)创建数据库Sales的事务日志备份。-创建数据库Sales的事务日志备份。BACKUP LOG 销售管理 to Sales WITH NORECOVE

6、R运行结果:5) 从备份设备Sales备份的完整数据库备份中恢复数据库Sales。-从备份设备Sales的完整数据库备份中恢复数据库 销售管理use masterrestore database 销售管理 from Sales运行结果:6) 删除备份设备。-删除是备份设备exec sp_dropdevice Sales运行结果:前后对比: 7)创建储存过程,实现备份数据库,输入二个参数,第一个是数据库名,第二个参数是备份类型。并以当前系统时间作为备份名。例如:备份名为: stu_2019-0606.bakgocreate proc pro_backupDatabaseName varchar(

7、20), -输入要备份的数据库名Type char(15) -输入的备份类型(支持完整备份、差异备份、日志备份)asbegin declare name char(30)declare sql varchar(255)set name = DatabaseName + _ + convert(varchar,datepart(yy,Getdate()+-+ convert(varchar,datepart(mm,Getdate()+-+ convert(varchar,datepart(dd,Getdate()+-+ .bakset sql = backup database +Databas

8、eName+ to disk= + e:+ name+ -备份代码,初始为完整备份if Type=差异备份 begin set sql = sql + with differential -将代码改为差异备份 print sql endelse if Type = 完整备份 begin set sql = sql -如果是完整备份,不进行改变 endelse if Type = 日志备份 begin set sql = backup log + DatabaseName + to disk= + h: +name+ -将代码改为备份 endelse -若三种都不是 begin print 输入

9、错误,请重新输入 return endexecute(sql) -运行sql代码end测试代码:Exec pro_backup stu,完整备份Exec pro_backup stu,差异备份、运行结果:且E盘根目录下存在该备份文件解题思路: 本题使用存储过程,将数据库名和备份类型输入,存储过程里声明sql,并对sql进行赋值,赋值内容为完整备份的方式备份数据库的代码。然后用ifelse if进行判断,判断输入的备份类型,并在符合条件的条件语句中对sql进行修改,在循环结束后用exec运行sql所包含的代码。5管理员对数据库执行了一次完整备份和多次日志备份,并且备份文件保持良好。某天数据文件遭

10、到破坏,管理员需要尽快恢复数据。验证数据是否和破坏前一致,自已给出测试数据。实现思路:添加数据至数据库中停止服务更改数据文件名,模拟数据文件破坏SQL Server可以使用事务日志重做己确认的事务还原完整+事务日志备份数据库结构:数据表C的数据:进行完整备份更改数据库数据后:进行日志备份:再次更改数据:再次进行日志备份:更改数据表名称C为test: 开始恢复备份:可以看到在还原界面,一共有三次记录,其中一次是完整备份,两次事务日志备份,先选择完整性备份进行还原:恢复结果:表名成功还原 数据成功还原: 下面开始恢复日志备份:选择完整备份与日志备份进行还原:数据库第一次更改内容成功还原:下面进行第

11、二次日志的还原:成功恢复第二次日志备份的数据:三、出现的的问题及解决方案(列出遇到的问题和解决办法,列出没有解决的问题)问题:还原数据库时显示还原数据库无效:解决办法:出现报错是因为数据库正在使用,关闭当前数据库即可。问题:还原数据库时,数据库一直处于正在还原状态,无法对数据库进行任何操作。解决办法:主要时因为恢复进程被挂起了,将数据库恢复并且回到可访问状态,需要执行:RESTORE database 销售管理 with recovery使恢复过程能完全结束解决问题。问题:导出到SSIS包之后不知如何执行SSIS包。解决办法:询问老师后得知需要打开代理服务器,并且以Intergration S

12、ervices的方式认证登录数据库,再在其中进行操作。问题:以上操作,点击登陆时报错。解决办法:以管理员方式打开,即可解决问题。问题:备份时报错: 解决办法:在非根目录备份。问题:用getdate()方法输出如下时间格式,不符合要求解决办法:修改获取时间格式的方式。四、实验小结。本次实验主要内容涉及备份与恢复,本次实验之前,对有关备份的各种概念都搞不太清楚,上课听的有点糊里糊涂,但是这次试验通过查找各种资料以及实验的验证等之后,对这些有了更深层次的了解:1完全备份:对整个目标数据库进行完全备份,包括系统和数据。这种备份方式的好处就是很直观,容易被人理解,当数据丢失时容易恢复。但是它也有不足之处

13、:若每次都对数据进行完全备份,在备份数据中有大量重复的数据,这些重复的数据占用大量的存储空间;并且,由于需要备份的数据量相当大,因此备份所需的时间比较长。2差异备份:每次备份的数据是相对于上一次完全备份之后增加和修改过的数据。它以前一次完全备份为基础,备份完全备份之后变化的数据文件、日志文件以及数据库中其它被修改的内容。因此,差异备份通常比全备份占用的时间小且执行速度快,但是会增加备份的复杂程度。3事务日志备份:日志备份不备份数据库本身,它只是备份日志记录,从而只备份上次备份(差异备份或者日志备份)之后到当前备份时间发生变化的日志内容。一般情况下,日志备份比完整备份和差异备份使用的资源少,因此

14、可以更频繁的使用日志备份,以减少数据丢失的风险。除此之外,SQL server还能根据时间线进行恢复:尽管本次实验大多为直接进行操作,且感觉直接操作不仅方便而且直观,遇到的bug少,但是在实验过程中也在努力尝试使用命令的方式实现备份,其中也遇到了挺多问题,有的代码不能很好的理解含义,但是用命令和直接操作处理相同的问题时,进行对比后就明了了很多。第四题的第七小问是做的最久的一题,因为此题需要用存储过程对输入数据进行操作,过程较复杂,标点符号容易出错,但是在各方面力量的帮助下成功解决了此题。本次实验操作较多,并不想之前实验类型一样去解决感觉距离较远的问题,而是备份恢复这种平时也会用到的应用,不仅理解了很多之前不理解的概念,在操作上也更加熟练,收获颇多。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2