NCRE-三级数据库技术-第12章-备份与数据库恢复

文章适用于计算机等级考试NCRE三级数据库技术,内容来源于网络,文章内容侵删,如果文章和个人的理解有出入,请务必以自己的知识储备为准,仅做参考

12.1 备份与恢复的概念

12.1.1 备份数据库

  • 备份原因:防止数据库丢失,是数据转移的一种方式

12.1.2 恢复数据库

  • 恢复概念:指DBS故障时,利用备份恢复DB
  • 类型:介质故障恢复、非介质故障恢复

12.2 SQL SERVER的备份与恢复

12.2.1 恢复模式

  • 概念:是一个DB属性,用于控制DB备份和还原操作的基本行为
  • 作用:决定备份类型和还原方案
  • 分类:简单恢复、完整恢复、大容量日志恢复
1.简单恢复
  • 简略记录大部分事务,不备份事务日志,只能保证恢复DB的一致性
2.完整恢复
  • 完整记录了所有事务,并保留所有事务日志记录
3.大容量日志恢复
  • 简略记录大容量操作,完整记录其他事务,一般作为完整恢复的补充

12.2.2 备份内容和时间

  • 备份内容:用户DB和系统DB
  • 备份时间:用户DB(周期性备份),系统DB(修改之后备份)

立刻备份的情况:

  • 创建数据库之后
  • 批量加载数据之后
  • 执行清理事务日志的操作之后
  • 执行大容量数据操作之后

12.2.3 备份机制

1.备份设备
  • 概念:SQL SERVER将备份数据库的场所称作备份设备,支持将DB备份到磁带或磁盘上
  • 类型 :
    • 永久备份设备:在备份前需要先建立
    • 临时备份设备:不需要预先建立,在备份时将DB直接备份到物理文件上
2.创建备份设备的语句
  • 语句 :sp_addumpdevice
  • 参数 :
    • [@devtype = ] 'device_type' --设备类型
    • [@logicalname = ] 'logical_name' --设备逻辑名
    • [@physicalname = ] 'physical_name' --设备物理名
3.备份类型
  • 数据库备份:完整数据库备份(完全转储)、差异数据库备份(差异转储)
  • 文件备份:文件备份、差异文件备份
  • 事务日志备份
备份类型 说明
完整数据库备份 是恢复DB的基线,需要备份: 1. 整个DB:数据文件、DB对象、数据信息 2. 备份处于备份过程时发生的活动 3. 备份未提交的事务到日志
差异数据库备份 需要上一次完整备份为基准点,比完备节约时间,恢复时先恢复对应的完备,需要备份: 1. 备份从上次完备之后数据的改动 2. 备份处于差异备份过程时发生的活动 3. 备份未提交的事务到日志
文件备份 针对物理文件进行备份和还原,可以只恢复已损坏的DB文件,更灵活,恢复速度更快
差异文件备份 备份从上一次文件备份之后数据的改动
事务日志备份 备份从上一次日志备份之后的日志记录,仅用于完整恢复或大容量日志恢复模式,分为以下三种类型: 1. 纯日志备份 2. 大容量操作日志备份 3. 结尾日志备份
4.常用备份策略
备份策略 适用场景及特点
完整备份 ● 适用于DB数据量较小,数据更改不频繁的情况 ● 一般几天或几周一次 ● 若对数据修改次数不频繁,且允许少量数据丢失,可以只用完备策略
完整备份+日志备份 ● 适用于只允许极少数据丢失,同时备份频率较低的情况 ● 在两次完全备份期间进行日志备份
完整备份+差异备份+日志备份 在两次完备之间插入若干差异备份,在若干差异备份之间插入若干日志备份
5.备份的实现
  • 完全备份 :BACKUP DATABASE 数据库名 TO 备份设备
  • 覆盖完全备份 :BACKUP DATABASE 数据库名 TO 备份设备 WITH INIT
  • 追加日志备份 :BACKUP LOG 日志文件 TO 备份设备

12.2.4 SQL SERVER恢复机制

  • 支持级别:SQL SERVER支持DB级的恢复和文件级的恢复
1.恢复的顺序
  1. 恢复最近的完全备份
  2. 恢复最近的差异备份(若有)
  3. 恢复差异备份之后的日志备份(若有)
  4. 恢复数据库
2.恢复的实现
  • 完全备份恢复 :RESOTRE DATABASE 数据库名 FROM 完全备份设备 WITH NORECOVERY
  • 差异备份恢复 :RESOTRE DATABASE 数据库名 FROM 差异备份设备 WITH NORECOVERY
  • 日志备份恢复 :RESOTRE LOG 数据库名 FROM 日志备份设备 WITH NORECOVERY

注:NORECOVERY表示之后还有备份文件需要恢复

相关推荐
冰暮流星4 小时前
sql之计算
数据库·sql
dishugj4 小时前
HANA集群状态监控
数据库·系统架构
小蒜学长5 小时前
基于Java的公司采购系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·公司采购系统
lee_tianbai5 小时前
Java SSM 电影票预定系统|完整前后端项目,开箱即用(源码分享)
java·开发语言·数据库
SM_YHJ5 小时前
RFID通道门禁与资产台账联动的自动登记技术实现方案
大数据·数据库·人工智能
PaperData5 小时前
2014-2024年省级居民消费结构升级
数据库
砚底藏山河5 小时前
python量化入门:多周期数据对齐统一时间轴
java·数据库·python·金融·maven
Java后端的Ai之路5 小时前
昇腾NPU显存管理避坑指南:从npu-smi输出精准识别空闲卡的底层逻辑与实战
服务器·网络·数据库·npu·大模型服务
禾小西6 小时前
05丨Redis 内存快照:宕机后,如何实现快速恢复?
数据库·redis·缓存
笃行3506 小时前
数据同步软件:KFS 在 KingbaseES 项目里到底解决了什么
数据库