概要

SQLServer可以手动备份,也可以通过维护计划实现自动备份,将数据备份到指定的文件中,当数据操作失误的时候,通过数据库的恢复能够一定程度的保证数据的安全性。
本文内容:
数据库备份手动备份
自动备份
数据库的恢复
全部备份恢复
差异备份恢复

数据库的备份

手动备份

右键点击需要备份的数据库,选择tasks任务----》backup备份

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_数据库


然后会进入backup的窗口,如下

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_备份恢复_02


设置备份文件的目录和文件名。

如果目标框中有之前的文件目录,则通过Remove删除,然后Add添加进当前需要指定的文件目录以及文件名。

文件指定之后点击OK按钮,就会进行备份了。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_备份恢复_03


出现以下的提示,说明备份成功了,可以在设定的目录下找到对应的文件。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_备份恢复_04


sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_备份恢复_05

自动备份

SQLServer带有维护计划,通过维护计划可以实现自动备份的功能。

维护计划位置为:

链接根目录(localhost)–》Management(管理)–》Maintenance Plans(维护计划)–》maintancePlan(维护计划)

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_维护计划_06


如果目录中没有maintancePlan选项,说明还没有维护计划,这个时候通过维护计划向导创建一个维护计划

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_数据库_07


根据维护计划向导的步骤设定维护的数据库、指定是FULL还是DIFF维护、备份文件的位置、多久备份一次等操作。

设置成功之后就会出现maintancePlan选项,双击就会出现维护计划的可视化界面

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_数据库_08


左下角的工具箱(ToolBox)中的选项是可以直接拖拽到编辑视图中的,组件之间的执行顺序可以通过箭头指向来编辑。上方有subplan(子计划),可以切换不同的计划视图。

比如自动配置计划可以拖动Back Up Database Task(数据库备份任务)、History Cleanup Task(历史清除任务)、Maintenance Cleanup Task(清除维护任务)等组件到编辑框中,SQLServer会按照流程来执行这些组件。比如上图中程序的执行流程就是先FULL备份指定的数据库,然后清除历史记录,后面再执行两个清除维护计划。

这些组件可以直接双击打开编辑里面的内容。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_备份恢复_09


比如在双击进入维护计划清除的组件中,可以设定清除的目录名以及清除多久之前的文件。

数据库的恢复

全部备份恢复

新建一个数据库,选中右键单击—》Tasks(任务)–》Restore(恢复)–》Database…(数据库…),如下图所示。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_数据库_10


进来之后,会到恢复数据库的窗体中,在To Database这选择自要恢复的数据库。在指定资源这里选择From device,添加备份文件的位置,然后在下面的恢复文件中勾选上自己需要的。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_维护计划_11


做完了只有,点击Options(选项)进入选项页。

选项页中需要注意三个位置

  1. Restore options中勾选第一个WITH REPLACE(覆盖),恢复到一个已存在的库中需要勾选此项。
  2. Restore the database files as:中的Restore As选择,指定数据文件(.mdf)和日志文件(.ldf),可以在备份文件的同目录下创建两个空的文件,指定后缀名为.mdf和.ldf。
  3. Recovery state:选择第一个选项,恢复提交事务RESTORE WITH RECOVERY。
    完成上面的操作之后,点击OK执行恢复操作即可。

差异备份恢复

差异备份是基于最后一次完整备份的差异,而不是最后一次差异备份的差异。
差异备份恢复的时候需要先进行一次全部备份的恢复,然后才能进行差异备份的恢复。

完整备份的恢复与前面所述的完整备份只有一点不一样,就是在options(选项)页中的Recovery state选项。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_数据库_12


这个时候需要选择第二个选项RESTORE WITH NORECOVERY,这个选择完了之后等于是不提交事务,在数据恢复完成之后数据库中显示的是一个restoring状态。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_维护计划_13


当数据库显示的是restoring状态的时候,就可以进行差异被备份的恢复了。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_维护计划_14

同样的操作:Tasks(任务)–》Restore(恢复)–》Database(数据库)

然后指定差异备份的文件

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_数据库_15


指定完成之后勾选指定的文件,然后继续进入选项页。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_数据库_16


sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_数据库_17


选项页面的内容如上图所示,选择覆盖数据(WITH REPLACE),数据文件(.mdf)和日志文件(.ldf)可以选择和全部备份一样的文件。在Recovery state选项中勾选第一个,恢复完了提交事务。

sql server 2012 恢复sql 2000的备份 sql server恢复备份数据库_维护计划_18

操作完成之后,可以看到数据库的恢复到正常,这时可以对数据库进行操作了。差异备份完成。