SQL Server的数据库备份与还原

数据库备份分类

备份分类

  • 完全备份:(常用方式)
    • 备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。
    • 因而,占用不少时间和空间,这种方式不建议太频繁,一般一周一次
  • 差异备份:也叫增量备份
    • 它不使用事务日志,相反,它使用整个数据库的一种新映象
    • 比最初的完全备份小,它只包含自上次完全备份以来所改变的数据库
    • 它的优点是存储和恢复速度快。推荐每天做一次差异备份。
  • 事务日志备份
    • 只需要复制自上次备份以来对数据库所做的改变,只备份日志文件 ,建议备份频繁,甚至半小时一次
  • 文件备份
    • 如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。
    • 由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。

完全备份与还原

备份

点击
点击
右键单击需要备份的数据库
任务
备份

先删除自动生成的存储路径

选择对应的数据库
类型选择完整
选择备份到磁盘
添加存储文件
确定

点击确定

检查文件

还原

数据库先设置单用户模式

点击
右键单击需要还原的数据库
属性

选择
选择左侧选择页中的选项
状态
限制访问
SINGLE_USER也就是单用户模式




表明设置成功。

还原

点击
点击
点击
右键单击需要还原的数据库
任务
还原
数据库

找到之前存放备份文件的路径
源选择设备
选择右边的三个点
添加
选择对应的备份文件





还原成功!

差异备份与还原

备份

差异备份的前提是已经进行了一次完全备份了。

同样

点击
点击
右键单击需要备份的数据库
任务
备份


先删除自动生成的存储路径

选择对应的数据库
类型选择差异
选择备份到磁盘
添加存储文件
确定


备份完成

同样的方法再备份一个,用来模拟多差异备份还原。
检查文件

还原

数据库先设置单用户模式

单机跳转查看方法

还原

需要先通过完全备份文件还原,再用差异备份集还原

先还原 完全备份

点击
点击
点击
右键单击需要还原的数据库
任务
还原
数据库

找到之前存放备份文件的路径
源选择设备
选择右边的三个点
添加
选择对应的备份文件



选择 RESTORE WITH NORECOVERY
选择左边 选择页 的 选项
取消还原前进行结尾日志备份的勾选
选择覆盖现有数据库


完成完全备份的还原

此时状态

再依次还原其他 差异备份

同样

点击
点击
点击
右键单击需要还原的数据库
任务
还原
数据库

找到之前存放备份文件的路径
源选择设备
选择右边的三个点
添加
选择第一个差异备份对应的备份文件


因为不是最后一个差异备份,所以还是要同样选择RESTORE WITH NORECOVERY

选择 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

完成还原

然后设置成多用户模式,就好了

posted @   厚礼蝎  阅读(1084)  评论(0编辑  收藏  举报
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示