如何在SQL Server 2005中还原数据库

还原数据库的方式

有几种数据库备份的方式就将会有几种还原数据库的
方式:

l 完整备份的还原:无论是完整备份、差异备份还是事务日志备份的还原,在第一步都要先做完整备份的还原。完整备份的还原只需要还原完整备份文件即可。

l

差异备份的还原:差异备份的还原一共需要两个步骤,第一个步骤先还原完整备份,第二步还原最后一个差异备份。例如在每个周日做一次完整备份,周一到周六每

天下班前做一次差异备份,如果在某个周四发生了数据库故障,那么做差异备份的还原就应该先还原最近一个周日做的完整备份,然后还原周三做的差异备份。如果

在差异备份之后还有事务日志备份,那么还应该还原事务日志备份。

l

事务日志备份的还原:还原事务日志备份的步骤比较多一些,因为事务日志备份相对而言会做得比较频繁一些。例如某个数据库在每个周日做完整备份,每天的下午

18点做差异备份,在白天里每隔三个小时做一次事务日志备份。假设在周三早上8点上班时数据库发生故障,那么还原数据库的步骤应该是:先恢复周日做的完整

备份,然后恢复周二下午做的差异备份,最后依次恢复差异备份到损坏为止的每一个事务日志备份,即周二晚上21点、周二晚上24点、周三早上3点、周三早上

6点所做的事务日志备份。

l 文件和文件组备份的还原:通常只有数据库中某个文件或文件组损坏了才会使用这种还原模式。

18.5.2

还原数据库前要注意的事项

在还原数据库之前,要注意以下两点:

l 检查备份设备或文件:在还原数据库之前,首先要找到要还原的备份文件或备份设备,并检查备份文件或备份设备里的备份集是否正确无误,例如使用前面介绍的“RESTORE VERIFYONLY”语句。

l 查看数据库的使用状态:在还原数据库之前,要先查看数据库是否还有其他人在使用,如果还有其他人正在使用,将无法还原数据库。

18.5.3

还原数据库备份

在sql server Management Studio里还原数据的方法如下:

(1)启动【sql server Management Studio】,右击要还原的数据库,在弹出的快捷菜单里选择【任务】à【还原】à【数据库】,弹出如图8-12所示【还原数据库】对话框

图8-12 【还原数据库】对话框

(2)在图8-12所示对话框里有很多选择项,不同的还原情况选择不同的选择项:

l 【目标数据库】:在该下拉列表框里可以选择要还原的数据库。

l 【目标时间点】:如果备份文件或备份设备里的备份集很多的话,还可以选择【目标时间点】,只要有事务日志备份支持,可以还原到某个时间的数据库状态。在默认情况下该项为“最近状态”。

l 【还原的源】:在该区域里可以指定用于还原的备份集的源和位置。

如果选择【目标数据库】单选框,则从msdb数据库里的备份历史记录里查得可用的备份,并显示在【选择用于还原的备份集】区域里。此时不需要指定备份文件的位置或指定备份设备,sql server会自动根据备份记录来找到这些文件。

如果选择【源设备】单选框,则要指定还原的备份文件或备份设备。点击【…】按钮,弹出如图18.13所示【指定备份】对话框。在【备份媒体】下拉列表框里

可以选择是备份文件还是备份设备,选择完毕后单击【添加】按钮,将备份文件或备份设备添加进来。选择备份文件或备份设备后,返回到18-12所示对话框。

图18.13 【指定备份】对话框

l 【选择用于还原的备份集】区域:在该区域里列出了所有可用的备份集。

如果【目标时间点】为“最近状态”,【还原的源】为“源数据库”,该区域显示的是最后一次完整备份到现在的所有可用备份集。

如果【目标时间点】为“最近状态”,【还原的源】为“源设备”,该区域显示的是备份文件或备份设备里的所有可用备份集。

如果【目标时间点】指定的时间,【还原的源】为“源数据库”,该区域里显示的是从该时间前一个完整备份到目前为止的所有非完整备份。例如一个数据库在

2006年9月18日、19日、20日三天的做过备份,其中每天的0点是完整备份,12点是差异备份,21点是日志备份。如果在【目标时间点】里的时间点

为2006年9月19日14点,那么在【选择用于还原的备份集】区域里显示的将是从2006年9月19日的所有备份集与20日的所有差异备份集和事务日志

备份集。

如果【目标时间点】指定的时间,【还原的源】为“源设备”,该区域显示的是备份文件或备份设备里的第一个到该时间之后第一个完整备份以来的所有备份。例如

一个备份文件里包含了2006年9月18日、19日、20日三天的备份数据,其中每天的0点是完整备份,12点是差异备份,21点是日志备份。如果在【目

标时间点】里的时间点为2006年9月19日14点,那么在【选择用于还原的备份集】区域里显示的将是从2006年9月18日与19日两天的所有备份集。

在【选择用于还原的备份集】里可以选择完整备份、差异备份或事务日志备份,sql server

2005十分智能,如果选择差异备份,系统会自动将上一个完整备份选择上;如果选择日志备份,系统也会自动将上一个完整备份以及所需要的差异备份和日志备

份都选择上。换句话说,只要选择想恢复到的那个备份集即可,系统会自动选上要恢复到这个备份集的所有其他备份集。

说明:sql server 2005在【选择用于还原的备份集】区域里进行了完善工作,可以一次性选择多个备份集来还原数据库,如图18.12所示,选择完整备份和日志备份两个备份集,sql Server 2005会自动按次序还原这些备份。

(3)如果没有其他的需要,设置完第二步后可以单击【确定】按钮进行还原操作,也可以在图18.12所示对话框里选择【选项】标签,进入如图18.14所示对话框。

图18.14 【选项】选项卡

(4)在如图18.14所示对话框里,可以设置以下选项:

l 【覆盖现有数据库】:选中该复选框则会覆盖所有现有数据库以及相关文件,包括已存在的同名的其他数据库或文件。

l 【保留复制设置】:选中该复选框则会将已发布的数据库还原到创建该数据库的服务器之外的服务器时,保留复制设置。不过该项只有在选择了【回滚未提交的事务,使数据库处于可以使用状态】选项才可以使用。

l 【还原每个备份之前进行提示】:选中该复选框则在还原每个备份设备前都会要求确认一次。

l 【限制访问还原的数据库】:选中该复选框则使还原的数据库仅供db_owner、dbcreator或sysadmin的成员使用。

l 【将数据库文件还原为】:在该区域里可以更改要还原到的任意目的文件的路径和名称。例如在备份完数据库之后,数据库文件移动过位置,如果此时用移动过位置之前的数据库备份来还原数据库,则会把数据库文件还原到原来的位置。使用该项可以将数据库文件还原到新的位置。

l 【恢复状态】:在该区域里有三个选择项:

如果选择了【回滚未提交的事务,使数据库处于可以使用状态。无法还原其他事务日志】单选框,则让数据库在还原后进入可正常使用的状态,并自动恢复尚未完成的事务,如果本次还原是还原的最后一次操作,可以选择该项。

如果选择了【不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志】单选框,则在还原后数据库仍然无法正常使用,也不恢复未完成的事务操作,但可再继续还原事务日志备份或差异备份,让数据库能恢复到最接近目前的状态。

如果选择了【使数据库处于只读模式。撤消未提交的事务,但将撤消操作保存在备用文件中,以便可以恢复效果逆转】单选框,则在还原后做恢复未完成事务的操

作,并使数据库处于只读状态,为了可再继续还原后的事务日志备份,还必须指定一个还原文件来存放被恢复的事务内容。

(5)设置完毕后,单击【确定】按钮完成还原操作。

18.5.4

还原文件和文件组备份

还原文件和文件组备份与还原完整备份、差异备份和事务日志备份有点区别:

(1)启动【sql server Management Studio】,右击要还原的数据库,在弹出的快捷菜单里选择【任务】à【还原】à【文件和文件组】,弹出如图8-15所示【还原文件和文件组】对话框。

图18.15 【还原文件和文件组】对话框

(2)如图18.15所示的【还原文件和文件组】对话框里,可以设置以下选项:

l 【目标数据库】:在该下拉列表框里可以选择要还原的数据库。

l 【还原的源】:在该区域里可以选择要用来还原的备份文件或备份设备,用法与还原数据库完整备份中的一样,在此就不赘述了。

l

【选择用于还原的备份集】:在该区域里可以选择要还原的备份集,从图18.15中可以看出,在该区域里所列出备份集不仅仅包含文件和文件组的备份,还包括

完整备份、差异备份和事务备份,无论选择哪种备份,都是允许的。换句话说,在此不仅仅可以恢复文件和文件组备份,也可以恢复完整备份、差异备份和事务备

份。

(3)选择完毕后可以单击【确定】按钮完成还原操作,也可以选择【选项】选项项进行进一步设置,其设置与上面介绍的相同。

注意:在进行完文件和文件组备份之后,还必须进行一次事务日志备份,否则无法还原文件和文件组备份。

18.5.5

从现有的备份创建新的数据库

通常数据库设计员都会在本地计算机上设计并调试数据库,在数据库初

始化完毕之后再上传到服务器上。在前面曾经提到用可以先将数据库文件分离,然后将其传到服务器上再附加。使用这种方法附加的数据库不能改名。在sql

Server

2005中还可以先将本地计算机上的数据库备份,再通过备份文件在服务器上创建一个新的数据库,此时新数据库的数据文件和数据库名都可以和原来的不一样。

其方法为:

(1)启动【sql server Management Studio】,在【对象资源管理器里】选项【数据库实例名】à【数据库】。

(2)右击数据库,在弹出的快捷菜单里选择【还原数据库】选项,弹出如图18.12所示【还原数据库】对话框,不过该对话框里【目标数据库】下拉列表框和【源数据库】列表框里都是空白的。

(3)在【目标数据库】下拉列表框处输入新的数据库名。

(4)选择【源设备】单选框,并选择备份文件,然后在【选择用于还原的备份集】区域里选择用于还原的备份集。

(5)单击【选项】标签,进入如图18.14所示对话框,修改该对话框的【将数据库文件还原为】区域里的文件【还原为】的位置。

(6)完成后单击【确定】按钮完成新建数据库的操作。

完成后的新数据库拥有新的数据库名、新的数据库文件以及数据库文件存储的新位置。

转载于:https://www.cnblogs.com/yhb199/archive/2008/06/18/1224425.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

amd cpu不能在cmd环境下运行java代码_如何在Windows10中配置java的JDK环境

今天给大家分享一下如何配置java的JDK环境。操作步骤如下:1.下载好 jdk 的安装文件,我下载的是 jdk-10.0.1_windows-x64_bin.exe 这个版本的安装文件;2.使用鼠标双击该exe文件,该exe文件会运行安装界面,截图如下&#…

我国医疗机器人产业发展特征分析

来源:雷克世界导语:2016年4月,我国发布了《机器人产业发展规划(2016-2020年)》,该规划引导我国机器人产业快速健康可持续发展,增强技术创新能力和国际竞争能力,医疗机器人政策长期利…

位枚举(Bit Flags)

场景:如字体,一个字体可以同时拥有枚举里面所列举的一种或者多种风格,这时就需要位枚举 定义: [Flags] publicenumFontStyle { Bold 0x0001, Italic 0x0002, Regular 0x0004, …

华为鸿蒙麒麟玉兔_华为P50除了麒麟9000,还预装鸿蒙系统,比iPhone12值得买

2020年已经临近尾声,各大手机厂商的旗舰机均悉数亮相,消费者的目光也开始逐渐转向2021年的开年旗舰上。而在各大手机厂商的第一批开年旗舰中,华为P系列的新品无疑是最受关注的一款。这主要是因为华为目前仍处于美方制裁下,芯片危机…

2018年智能化发展趋势:语音交互全球开战、AI终端趋势显现

来源:雪球网 作者:西木财经美国知名研究机构CB Insights近日发布重磅报告《2018年必看的人工智能热门趋势》(Top AI Trends To Watch In 2018),报告对AI行业发展现状进行了深入研究剖析,并给出了2018年AI…

C++ 对象的内存布局

来源:http://blog.csdn.net/haoel/article/details/3081328 前言 07年12月,我写了一篇《C虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。…

VB.NET 中的 As New 以及型別指定

常有人以為 VB.NET 程式的執行效能不如 C#,但根據 msdn 的說法,VB.NET 和 C# 都是編譯成 MSIL 中繼語言,因此基本上以二者所寫出來的應用程式也具有相同的效能。最常導致二者在 web 應用程式中,執行效能差異的罪魁禍首&#xff0c…

普华永道:2018 AI预测报告 将回答关于数据的重大问题

来源:网络大数据近日 ,普华永道发布关于2018年人工智能趋势预测的报告,同时介绍人工智能对商业、政府和社会的等方面的影响。人工智能非常复杂,且发展迅速。AI 在一些领域做了很多,在另一些领域做得较少,这…

过渡效果_剪映教程:剪映怎么添加视频之间的过渡转场效果?

今天是国庆假期的第三天,直播apk小编今天确实郁闷的无比,因为今天小编所在的老家正在下雨,而且从上午一直下到现在下了整整一天!OMG,浪费了一天的假期。不过还好有你们,小编还可以静下心来给大家写教程,好了…

C++ 多继承和虚继承的内存布局

来源:http://www.oschina.net/translate/cpp-virtual-inheritance 来源:http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/05/2537451.html C中的虚拟继承的一些总结 1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决…

C++学习之路 | PTA乙级—— 1076 Wifi密码 (15 分)(精简)

1076 Wifi密码 (15 分) 下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4&…

怎么导出链接_如何导出CocosCreator项目供cocos2dx加载

1、新建CocosCreator项目。2、安装creator_to_cocos2dx 插件拷贝到 Creator 项目的 packages 目录3、在cocoscreator项目中,项目(Project) -> LuaCPP Support -> Setup Target Project,出现的对话框中 Project Path 选择目标 Cocos2d-x 工程的路径…

C++对象模型

From:http://blog.csdn.net/wxc1987821/article/details/5958325 图说C对象模型:对象内存布局详解:http://blog.csdn.net/alexqiweek/article/details/52624641 1 前言 了解你所使用的编程语言究竟是如何实现的,对于C程序员可能…

北斗产业发展现状与前景预测研究

来源:北斗时空作者:曹冲北斗产业,泛指中国卫星导航产业,2012年底我国北斗系统投入区域服务以后,中国的卫星导航产业就以北斗为轴心主线加以推动发展,从此称其为北斗产业。顺理成章由其延续我国整个导航定位…

自已动手制作寸照

毕业在即,学校动不动就给张单子,说,添了他,贴照片别忘。苦于我对镜头不感冒,照出来的相片很难看,真的没有本人好看。而且在照证明相的时候都不会笑了,脸很僵硬,不像平时的照片那么活…

Java并发编程实战~CountDownLatch

无线程池实现 while(存在未对账订单){// 查询未对账订单Thread T1 new Thread(()->{pos getPOrders();});T1.start();// 查询派送单Thread T2 new Thread(()->{dos getDOrders();});T2.start();// 等待 T1、T2 结束T1.join();T2.join();// 执行对账操作diff check(…

linuxoracle查看用户权限_权限管理系统设计过程

今天和大家一起探讨权限管理方面的设计心得。权限管理,是B端后台系统一个重要的组成部分,属于底层的支撑功能,系统内所有的功能,甚至字段的增减都涉及到权限的分配和管理。因此怎样配置后台的权限系统,以适应多变业务需…

MIT:大脑如何跟踪运动中的物体?

来源:脑健康联盟抓住一个弹起的球,或者用球拍击球,这两种行动都需要合理地估算触球时间。一直以来,神经科学家都相信,大脑是通过计算物体的运动速度来完成这些动作的。然而,麻省理工学院的一项新研究表明&a…

物联网测试完整解决方案 | 为你的芯片、模块、终端保驾护航

来源:物联网智库2017年被视为物联网商用元年。窄带物联网标准正式冻结,国内运营商重点布局以及设备制造商的强力推动……自此,物联网规模化商用迈入了快车道。然而,与传统的智能手机类似,基于NB-IoT技术的物联网设备在…

Java并发编程实战~CyclicBarrier

用 CyclicBarrier 实现线程同步 线程 T1 和 T2 要做到步调一致,都完成后通知到线程 T3 创建了一个计数器初始值为 2 的 CyclicBarrier,你需要注意的是创建 CyclicBarrier 的时候,我们还传入了一个回调函数,当计数器减到 0 的时候…