sqlserver 2008 备份恢复实战
一 内容说明 sqlserver数据库中最重要的是数据库备份和还原,当数据库出现灾难性破坏的时候,需要有最佳的恢复计划,恢复数据和恢复方案。对于已经实施完数据库备份的数据库,需要定期组织恢复演练,以便在灾难故障来临时,可以快速的恢复。 下面介绍了备份策略制定,恢复计划,还原计划。 还原主要有以下几种组合(根据自己实际情况选择):
二 策略制定 2.1 没有事务日志的情况 由于数据库数据量不是很大,数据库全备每天执行一次 数据库每各半小时,执行一次差异备份 2.2 数据库开启了事务模式 数据库每周星期天凌晨1点,全备数据库 数据库每天18点差异备份 数据库每30分钟,执行一次日志事务备份 三 备份步骤(作业创建) 1.1 全量备份 输入名字: auto_backup_sqlserver ,点击确认,进入作业计划里面。 进入 --> 维护计划 --> auto_backup_sqlserver --> "添加子计划" 按照下面方式填写 名称:km_full 说明: 全备 km_full_ 计划: 需要选择具体备份策略,参考下一步 作业计划属性设置如下: 名称: backup_full 计划类型: 重复执行 频率: 每天,执行间隔1天 每天频率: 执行一次,时间为 1点 当作业属性,点击确认后,选择子计划:km_full,拖动 “备份数据库任务” 到子计划 任务窗体,然后 双机 “备份数据库任务”任务框,出现 备份数据库 任务 设置选项 连接:本地服务器连接 备份类型: 完整 数据库: 选择需要备份的数据库后,这里会变为 特定数据库字样 备份目录: 选择备份目录的文件夹 , 注意:这里全备,可以写full字样,方便清理 勾选验证备份完整性 1.2 记录清除 添加清理历史计划,选择 清理历史记录 任务,到窗体里面,如下图 选择清除备份历史记录的优先级,点击 备份数据库 任务 选择--“添加优先约束(P)” 根据需要 先备份,然后在删除 历史记录,如下图 双机 清除历史记录任务,会出现 清除历史记录任务的选项,按照下面方式设置选择8周以后的历史记录删除 1.3 过期数据清除 添加 清除维护任务,从面板里面拖 清除维护任务到主窗体里面,如下图: 双机或者邮件点击 清除维护任务,如下图 、 出现 清除维护任务 属性设置对话框 设置 文件夹: c:bak 文件扩展名: full 删除文件: 4周 1.4 差异备份 点击 添加子计划,出现下面对话框: 名称: km_diff 说明: km_diff 计划: 需要点击然后日历控件设置 点击日历空间,出现 差异备份的配置对话框 计划类型: 重复执行 执行频率: 每天 执行时间: 1:00:00 在主窗体里面,拖动备份数据库 任务 ,然后右键点击编辑,出现下面对话框,完成配置后,点击确定 备份类型: 差异 数据库: 选择需要差异备份的数据库,选择完毕后,这里会出现 特定数据库 勾选 为每个数据库创建备份文件 备份文件扩展名: diff 勾选 验证备份完整性 1.5 差异备份记录清除 从工具箱里面 拖出 清除历史记录 任务,右键编辑,按照如下配置保存8周 设置 备份数据库任务成功后,然后清除历史记录,右键点击 备份数据库任务,选择添加优先约束 设置控制流 连接自: 备份数据库任务 连接至: 清除历史记录任务 设置完成控制流后,会出现一个箭头指向,如下图 1.6 差异备份过期数据清除 设置完 历史数据过期清除后,然后设置过期数据清理,从工具箱 拖动 清除维护任务到 主窗体 设置目录:c:bak 设置文件扩展名: diff 勾选包括以及子文件夹 保留: 4周 设置控制流,从工具箱选择 清除维护任务 ,然后右击 编辑 清除历史记录任务,在控制流中,选择 连接自:清除历史记录任务 连接至: 清除维护任务 设置完毕后,如下图: 1.7 事务日志备份 点击 工具箱-- 备份数据库任务--右键点击 编辑,出现 备份数据库任务属性卡 备份类型: 事务日志 数据库: 选择指定需要备份的数据 勾选为每个数据库创建子目录 文件扩展名: trn 勾选验证备份完整性 1.8 事务日志历史清理 从工具箱-拖动 清除历史记录任务--右键编辑,根据下面设置,保留10周,优先级为先备份数据库任务,然后执行清理数据库记录,(控制流优先级设置,参考备份数据库部分) 1.9 事务日志过期数据清理 从工具箱里面 拖动 清除维护任务,右键编辑,按照如下设置后,设置优先级,先历史记录清理,然后清除维护任务 文件夹:c:bak 扩展名: trn 保留日期:2周 四 还原步骤 2.1 全量还原 全量恢复的时候,右键点击需要还原的数据库 任务--还原--数据库/文件或文件组,如下图 选择了还原后,会出现 还原数据库的选项卡界面,选择"源设备"的路径,如下图,组件 是 数据库 类型是 完整,勾选 这个还原数据库的记录,如下图: 设置完常规后,选择 选项,这里选择: 勾选现有数据库 选择 回滚提交的事务,使数据库处于可以使用的状态。无法还原其它事务日志(L) 问题,当出现下面错误的时候,说明有人正在使用数据库,没有办法还原数据库,这个时候,需要把数据库设置到单用户模式。 设置数据库为单用户模式 右键点击"数据库属性"--"选项" 限制访问: single_user 2.2 差异还原 差异还原的时候,需要注意,先还原完整的数据库,还原完整数据库的时候,需要注意选择" 不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。(RESTORE WITH NORECOVERY) " 先还原完完整数据库后,然后再右键点击数据库,任务--还原,在源设备里面,选择需要恢复的差异数据文件,点击勾选 点击选项卡,按照下面要求选择,最后点击确定,就可以完成 差异恢复了。 2.3 事务日志还原 还原事务日志和还原完整数据库一样的步骤,只是在选择 源设备的时候,需要选择需要恢复的 事务日志文件,如下 选择“回滚未提交的事务,使数据库处于可以使用状态。无法还原其他事务日志(L)。(RESTORE WITH RECOVERY)”,表示没有其它需要恢复的差异或日志备份文件了。这里由于后面还有2个事务日志文件要恢复,所以选择了 “不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志” 注:只要还要还原,就一定要选择”不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志“,否则还原差异备份或日志备份就会出现以上的错误。 需要说明的是,如果后面还有需要恢复的日志事务文件,数据库的状态,会是 :(正在还原….) 当还原了所有的日志事务文件,最后一个事务日志需要选择 :“回滚未提交的事务,使数据库处于可以使用状态。无法还原其他事务日志(L)。(RESTORE WITH RECOVERY)” 然后点击确认,就恢复完成了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |