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