sqlserver 2008 备份恢复实战

一 内容说明sql

sqlserver数据库中最重要的是数据库备份和还原,当数据库出现灾难性破坏的时候,须要有最佳的恢复计划,恢复数据和恢复方案。对于已经实施完数据库备份的数据库,须要按期组织恢复演练,以便在灾难故障来临时,能够快速的恢复。数据库

下面介绍了备份策略制定,恢复计划,还原计划。服务器

还原主要有如下几种组合(根据本身实际状况选择):ide

  1. 完整恢复
  2. 完整恢复+差别恢复
  3. 完整恢复+差别恢复+日志事务恢复

二 策略制定工具

2.1 没有事务日志的状况sqlserver

因为数据库数据量不是很大,数据库全备天天执行一次3d

数据库每各半小时,执行一次差别备份日志

2.2 数据库开启了事务模式server

数据库每周星期天凌晨1点,全备数据库blog

数据库天天18点差别备份

数据库每30分钟,执行一第二天志事务备份

三 备份步骤(做业建立)

1.1 全量备份

输入名字: auto_backup_sqlserver ,点击确认,进入做业计划里面。

clip_image001

进入 --> 维护计划 --> auto_backup_sqlserver --> "添加子计划"

按照下面方式填写

名称:km_full

说明: 全备 km_full_

计划: 须要选择具体备份策略,参考下一步

clip_image002

做业计划属性设置以下:

名称: backup_full

计划类型: 重复执行

频率: 天天,执行间隔1天

天天频率: 执行一次,时间为 1点

clip_image003

看成业属性,点击确认后,选择子计划:km_full,拖动 “备份数据库任务” 到子计划 任务窗体,而后 双机 “备份数据库任务”任务框,出现 备份数据库 任务 设置选项

链接:本地服务器链接

备份类型: 完整

数据库: 选择须要备份的数据库后,这里会变为 特定数据库字样

备份目录: 选择备份目录的文件夹 , 注意:这里全备,能够写full字样,方便清理

勾选验证备份完整性

clip_image004

1.2 记录清除

添加清理历史计划,选择 清理历史记录 任务,到窗体里面,以下图

clip_image005

选择清除备份历史记录的优先级,点击 备份数据库 任务 选择--“添加优先约束(P)”

clip_image006

根据须要 先备份,而后在删除 历史记录,以下图

clip_image007

双机 清除历史记录任务,会出现 清除历史记录任务的选项,按照下面方式设置选择8周之后的历史记录删除

clip_image008

1.3 过时数据清除

添加 清除维护任务,从面板里面拖 清除维护任务到主窗体里面,以下图:

clip_image009

双机或者邮件点击 清除维护任务,以下图

clip_image010

出现 清除维护任务 属性设置对话框

设置 文件夹: c:\bak

文件扩展名: full

删除文件: 4周

clip_image011

1.4 差别备份

点击 添加子计划,出现下面对话框:

名称: km_diff

说明: km_diff

计划: 须要点击而后日历控件设置

clip_image012

点击日历空间,出现 差别备份的配置对话框

计划类型: 重复执行

执行频率: 天天

执行时间: 1:00:00

clip_image013

在主窗体里面,拖动备份数据库 任务 ,而后右键点击编辑,出现下面对话框,完成配置后,点击肯定

备份类型: 差别

数据库: 选择须要差别备份的数据库,选择完毕后,这里会出现 特定数据库

勾选 为每一个数据库建立备份文件

备份文件扩展名: diff

勾选 验证备份完整性

clip_image014

1.5 差别备份记录清除

从工具箱里面 拖出 清除历史记录 任务,右键编辑,按照以下配置保存8周

clip_image015

设置 备份数据库任务成功后,而后清除历史记录,右键点击 备份数据库任务,选择添加优先约束

clip_image016

设置控制流

链接自: 备份数据库任务

链接至: 清除历史记录任务

clip_image017

设置完成控制流后,会出现一个箭头指向,以下图

clip_image018

1.6 差别备份过时数据清除

设置完 历史数据过时清除后,而后设置过时数据清理,从工具箱 拖动 清除维护任务到 主窗体

设置目录:c:\bak

设置文件扩展名: diff

勾选包括以及子文件夹

保留: 4周

clip_image019

设置控制流,从工具箱选择 清除维护任务 ,而后右击 编辑 清除历史记录任务,在控制流中,选择

链接自:清除历史记录任务

链接至: 清除维护任务

clip_image020

设置完毕后,以下图:

clip_image021

1.7 事务日志备份

点击 工具箱-- 备份数据库任务--右键点击 编辑,出现 备份数据库任务属性卡

备份类型: 事务日志

数据库: 选择指定须要备份的数据

勾选为每一个数据库建立子目录

文件扩展名: trn

勾选验证备份完整性

clip_image022

1.8 事务日志历史清理

从工具箱-拖动 清除历史记录任务--右键编辑,根据下面设置,保留10周,优先级为先备份数据库任务,而后执行清理数据库记录,(控制流优先级设置,参考备份数据库部分)

clip_image023

1.9 事务日志过时数据清理

从工具箱里面 拖动 清除维护任务,右键编辑,按照以下设置后,设置优先级,先历史记录清理,而后清除维护任务

文件夹:c:\bak

扩展名: trn

保留日期:2周

clip_image024

四 还原步骤

2.1 全量还原

全量恢复的时候,右键点击须要还原的数据库 任务--还原--数据库/文件或文件组,以下图

clip_image025

选择了还原后,会出现 还原数据库的选项卡界面,选择"源设备"的路径,以下图,组件 是 数据库 类型是 完整,勾选 这个还原数据库的记录,以下图:

clip_image026

设置完常规后,选择 选项,这里选择:

勾选现有数据库

选择 回滚提交的事务,使数据库处于可使用的状态。没法还原其它事务日志(L)

clip_image027

问题,当出现下面错误的时候,说明有人正在使用数据库,没有办法还原数据库,这个时候,须要把数据库设置到单用户模式。

clip_image028

设置数据库为单用户模式

右键点击"数据库属性"--"选项"

限制访问: single_user

clip_image029

2.2 差别还原

差别还原的时候,须要注意,先还原完整的数据库,还原完整数据库的时候,须要注意选择"

不对数据库执行任何操做,不回滚未提交的事务。能够还原其余事务日志。(RESTORE WITH NORECOVERY)

"

clip_image030

先还原完完整数据库后,而后再右键点击数据库,任务--还原,在源设备里面,选择须要恢复的差别数据文件,点击勾选

clip_image031

点击选项卡,按照下面要求选择,最后点击肯定,就能够完成 差别恢复了。

clip_image032

2.3 事务日志还原

还原事务日志和还原完整数据库同样的步骤,只是在选择 源设备的时候,须要选择须要恢复的 事务日志文件,以下

clip_image033

选择“回滚未提交的事务,使数据库处于可使用状态。没法还原其余事务日志(L)。(RESTORE WITH RECOVERY)”,表示没有其它须要恢复的差别或日志备份文件了。这里因为后面还有2个事务日志文件要恢复,因此选择了 “不对数据库执行任何操做,不回滚未提交的事务。能够还原其余事务日志”

注:只要还要还原,就必定要选择”不对数据库执行任何操做,不回滚未提交的事务。能够还原其余事务日志“,不然还原差别备份或日志备份就会出现以上的错误。

clip_image034

须要说明的是,若是后面还有须要恢复的日志事务文件,数据库的状态,会是 :(正在还原….)

clip_image035

当还原了全部的日志事务文件,最后一个事务日志须要选择 :“回滚未提交的事务,使数据库处于可使用状态。没法还原其余事务日志(L)。(RESTORE WITH RECOVERY)”

而后点击确认,就恢复完成了。

clip_image036

相关文章
相关标签/搜索