概要
SQLServer可以手动备份,也可以通过维护计划实现自动备份,将数据备份到指定的文件中,当数据操作失误的时候,通过数据库的恢复能够一定程度的保证数据的安全性。
本文内容:
数据库备份手动备份
自动备份
数据库的恢复
全部备份恢复
差异备份恢复
数据库的备份
手动备份
右键点击需要备份的数据库,选择tasks任务----》backup备份
然后会进入backup的窗口,如下
设置备份文件的目录和文件名。
如果目标框中有之前的文件目录,则通过Remove删除,然后Add添加进当前需要指定的文件目录以及文件名。
文件指定之后点击OK按钮,就会进行备份了。
出现以下的提示,说明备份成功了,可以在设定的目录下找到对应的文件。
自动备份
SQLServer带有维护计划,通过维护计划可以实现自动备份的功能。
维护计划位置为:
链接根目录(localhost)–》Management(管理)–》Maintenance Plans(维护计划)–》maintancePlan(维护计划)
如果目录中没有maintancePlan选项,说明还没有维护计划,这个时候通过维护计划向导创建一个维护计划
根据维护计划向导的步骤设定维护的数据库、指定是FULL还是DIFF维护、备份文件的位置、多久备份一次等操作。
设置成功之后就会出现maintancePlan选项,双击就会出现维护计划的可视化界面
左下角的工具箱(ToolBox)中的选项是可以直接拖拽到编辑视图中的,组件之间的执行顺序可以通过箭头指向来编辑。上方有subplan(子计划),可以切换不同的计划视图。
比如自动配置计划可以拖动Back Up Database Task(数据库备份任务)、History Cleanup Task(历史清除任务)、Maintenance Cleanup Task(清除维护任务)等组件到编辑框中,SQLServer会按照流程来执行这些组件。比如上图中程序的执行流程就是先FULL备份指定的数据库,然后清除历史记录,后面再执行两个清除维护计划。
这些组件可以直接双击打开编辑里面的内容。
比如在双击进入维护计划清除的组件中,可以设定清除的目录名以及清除多久之前的文件。
数据库的恢复
全部备份恢复
新建一个数据库,选中右键单击—》Tasks(任务)–》Restore(恢复)–》Database…(数据库…),如下图所示。
进来之后,会到恢复数据库的窗体中,在To Database这选择自要恢复的数据库。在指定资源这里选择From device,添加备份文件的位置,然后在下面的恢复文件中勾选上自己需要的。
做完了只有,点击Options(选项)进入选项页。
选项页中需要注意三个位置
- Restore options中勾选第一个WITH REPLACE(覆盖),恢复到一个已存在的库中需要勾选此项。
- Restore the database files as:中的Restore As选择,指定数据文件(.mdf)和日志文件(.ldf),可以在备份文件的同目录下创建两个空的文件,指定后缀名为.mdf和.ldf。
- Recovery state:选择第一个选项,恢复提交事务RESTORE WITH RECOVERY。
完成上面的操作之后,点击OK执行恢复操作即可。
差异备份恢复
差异备份是基于最后一次完整备份的差异,而不是最后一次差异备份的差异。
差异备份恢复的时候需要先进行一次全部备份的恢复,然后才能进行差异备份的恢复。
完整备份的恢复与前面所述的完整备份只有一点不一样,就是在options(选项)页中的Recovery state选项。
这个时候需要选择第二个选项RESTORE WITH NORECOVERY,这个选择完了之后等于是不提交事务,在数据恢复完成之后数据库中显示的是一个restoring状态。
当数据库显示的是restoring状态的时候,就可以进行差异被备份的恢复了。
同样的操作:Tasks(任务)–》Restore(恢复)–》Database(数据库)
然后指定差异备份的文件
指定完成之后勾选指定的文件,然后继续进入选项页。
选项页面的内容如上图所示,选择覆盖数据(WITH REPLACE),数据文件(.mdf)和日志文件(.ldf)可以选择和全部备份一样的文件。在Recovery state选项中勾选第一个,恢复完了提交事务。
操作完成之后,可以看到数据库的恢复到正常,这时可以对数据库进行操作了。差异备份完成。