数据库备份分类
备份分类
- 完全备份:(常用方式)
- 备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。
- 因而,占用不少时间和空间,这种方式不建议太频繁,一般一周一次。
- 差异备份:也叫增量备份。
- 它不使用事务日志,相反,它使用整个数据库的一种新映象。
- 它比最初的完全备份小,它只包含自上次完全备份以来所改变的数据库。
- 它的优点是存储和恢复速度快。推荐每天做一次差异备份。
- 事务日志备份:
- 只需要复制自上次备份以来对数据库所做的改变,只备份日志文件 ,建议备份频繁,甚至半小时一次。
- 文件备份:
- 如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。
- 由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。
完全备份与还原
备份
flowchart LR 右键单击需要备份的数据库--点击-->任务--点击-->备份先删除自动生成的存储路径
flowchart LR 选择对应的数据库-->类型选择完整-->选择备份到磁盘-->添加存储文件-->确定点击确定
检查文件
还原
数据库先设置单用户模式
flowchart LR 右键单击需要还原的数据库--点击-->属性 flowchart LR 选择左侧选择页中的选项-->状态-->限制访问--选择-->SINGLE_USER也就是单用户模式
表明设置成功。
还原
flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->数据库 flowchart LR 源选择设备-->选择右边的三个点-->添加--找到之前存放备份文件的路径-->选择对应的备份文件
还原成功!
差异备份与还原
备份
差异备份的前提是已经进行了一次完全备份了。
同样
flowchart LR 右键单击需要备份的数据库--点击-->任务--点击-->备份
先删除自动生成的存储路径
备份完成
同样的方法再备份一个,用来模拟多差异备份还原。
检查文件
还原
数据库先设置单用户模式
还原
需要先通过完全备份文件还原,再用差异备份集还原
先还原 完全备份
flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->数据库 flowchart LR 源选择设备-->选择右边的三个点-->添加--找到之前存放备份文件的路径-->选择对应的备份文件
完成完全备份的还原
此时状态
再依次还原其他 差异备份
同样
flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->数据库 flowchart LR 源选择设备-->选择右边的三个点-->添加--找到之前存放备份文件的路径-->选择第一个差异备份对应的备份文件
因为不是最后一个差异备份,所以还是要同样选择RESTORE WITH NORECOVERY
完成第一个差异备份
此时的状态还是正在还原...
如果还有更多非最后一个差异备份的中间备份,同样按照上面的做法还原
...
还原最后一个差异备份
同样
因为是最后一个差异备份,所以只需要默认选择RESTORE WITH NORECOVERY
就可以了
此时就完成了所有差异备份的还原,状态也变成正常状态了。
事务日志的备份与还原
截断事务日志备份与还原
这里备份两个,模拟多事务日志备份的备份与还原
备份
同样需要先完全备份
flowchart LR 右键单击需要备份的数据库--点击-->任务--点击-->备份
先删除自动生成的存储路径
如上方法再备份一个
最后得到如下的文件
还原
数据库先设置单用户模式
还原
先还原完整备份
还原基础完整备份的方法
此时状态
还原中间多个事务日志备份
flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->事务日志 flowchart LR a[还原的源 选择 源设备]-->点击右边的点-->添加备份介质-->查找中间的事务日志备份的备份文件
选择左边选择页中的 选项,将恢复状态设置为 RESTORE WITH NORECOVERY
,只要不是最后一个恢复备份,都需要设置成RESTORE WITH NORECOVERY
完成中间备份的还原
多个中间事务日志备份,都按照上面的操作依次恢复
此时数据库的状态还是正在恢复
恢复最后一个事务日志
flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->事务日志 flowchart LR a[还原的源 选择 源设备]-->点击右边的点-->添加备份介质-->找到最后一个事务日志备份的备份文件
选择左边选择页中的 选项,因为是最后一个,所以将恢复状态设置为 RESTORE WITH RECOVERY
完成恢复,此时数据库状态已经恢复正常。
指定时间点事务日志备份与还原
备份
同样需要先完全备份
同时,中间的备份是上面的截断事务日志的备份,所以这里省略
直接说最后一个备份的备份方法
最后一个备份有点特殊,需要先将数据库设置为单用户模式
同时,需要记住需要还原的时间点
例如: 我再2024年12月17号的11时13分误操作导致数据丢失,我需要把数据库数据恢复到2024年12月17号的11时12分时的状态
数据库先设置单用户模式
备份
flowchart LR 右键单击需要备份的数据库--点击-->任务--点击-->备份
先删除自动生成的存储路径
最后得到如下的文件
还原
先还原完整备份
再还原中间事务日志
最后还原到之前的时间点
flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->事务日志 flowchart LR a[还原的源 选择 源设备]-->点击右边的点-->添加备份介质-->找到最后一个事务日志备份的备份文件
选择还原的时间点,就是之前的2024年12月17号的11时12分
最后设置 RESTORE WITH RECOVERY
完成还原
然后设置成多用户模式,就好了