# 备份与恢复数据库的概念
- 备份数据库是为了防止数据的丢失,造成数据丢失的原因包括如下几种
- 存储介质故障
- 用户的操作错误
- 服务器故障
- 病毒或者自然灾害所造成的故障
- 恢复数据库是指出现故障之前利用备份的数据副本进行恢复,恢复类型有两种
- 介质故障恢复,又称灾难性故障,是磁盘崩溃引发的大面积数据库数据丢失,解决方法就是还原最近的一个数据库备份
- 非介质故障恢复,又称可修复性故障,dbms自己根据在线日志进行redo或者undo操作来恢复数据库
## SQL Server的备份与恢复机制
恢复机制:
1.简单恢复模式
- 简单恢复模式下不备份事务日志
2.完整恢复模式
- 记录着所有的事务。并将事务日记保存到对其备份完毕为止。如果能在出现故障后备份日志尾部,则可以恢复到故障点。
3.大容量日志恢复模式
- 一般只做完整性恢复模式的附加模式。
备份类型:
1.数据库备份(可以在备份过程中对数据库进行操作)
- 分为完整数据库备份、差异数据库备份。
- 完整数据库备份是备份了数据库中的全部信息,是恢复的基线。备份过程中的操作也记录下来。
- 差异数据库备份是以最新的一次完整数据库备份为基准进行差异备份。经常完整性数据库备份可以为差异数据库备份提供一定的效率保障。
2.文件备份
- 分为文件备份和差异文件备份。
- 文件备份是备份了一个或多个文件组中的所有数据。
- 差异文件备份是备份最新的完整的文件备份后更改的内容。
3.事务日志备份
- 不备份数据库本身,只备份日志记录。分为纯日志备份、大容量操作日志备份、结尾日志备份三种。
- 在完整数据库备份的结尾处开始备份事务日志(在整组文件备份的开头开始事务备份),每一次完整数据库备份或者差异数据库备份都进行一次事务日志备份,形成一条日志链。
一般在进行操作前对日志尾部进行的备份称为“结尾日志备份”,可以将数据库恢复到故障点。如果无法备份日志尾部,则只能恢复到鼓掌发生前的最后一个备份。