SQL Server的数据库备份与还原

news/2024/12/17 12:14:12/文章来源:https://www.cnblogs.com/guangdelw/p/18612051

数据库备份分类

备份分类

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

完全备份与还原

备份

flowchart LR 右键单击需要备份的数据库--点击-->任务--点击-->备份

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

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

点击确定

检查文件

还原

数据库先设置单用户模式

flowchart LR 右键单击需要还原的数据库--点击-->属性

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




表明设置成功。

还原

flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->数据库

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





还原成功!

差异备份与还原

备份

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

同样

flowchart LR 右键单击需要备份的数据库--点击-->任务--点击-->备份


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

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


备份完成

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

还原

数据库先设置单用户模式

单机跳转查看方法

还原

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

先还原 完全备份

flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->数据库

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



flowchart LR a(选择左边 选择页 的 选项 )-->取消还原前进行结尾日志备份的勾选-->选择覆盖现有数据库-->1[选择 RESTORE WITH NORECOVERY]


完成完全备份的还原

此时状态

再依次还原其他 差异备份

同样

flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->数据库

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


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

flowchart LR a(选择左边 选择页 的 选项 )-->取消还原前进行结尾日志备份的勾选-->选择覆盖现有数据库-->1[选择 RESTORE WITH NORECOVERY]


完成第一个差异备份

此时的状态还是正在还原...

如果还有更多非最后一个差异备份的中间备份,同样按照上面的做法还原

...

还原最后一个差异备份
同样

flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->数据库

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


因为是最后一个差异备份,所以只需要默认选择RESTORE WITH NORECOVERY就可以了


此时就完成了所有差异备份的还原,状态也变成正常状态了。

事务日志的备份与还原

截断事务日志备份与还原

这里备份两个,模拟多事务日志备份的备份与还原

备份

同样需要先完全备份

完全备份方法

flowchart LR 右键单击需要备份的数据库--点击-->任务--点击-->备份


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

flowchart LR 选择对应的数据库-->类型选择事务日志-->选择备份到磁盘-->添加存储文件-->确定

flowchart LR a[选择左边的 【选择页】 中的 【介质选项】]-->b[事务日志选择 【截断事务日志】]--点击-->确定



如上方法再备份一个
最后得到如下的文件

还原

数据库先设置单用户模式

单机跳转查看方法

还原

先还原完整备份

还原基础完整备份的方法
此时状态

还原中间多个事务日志备份
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[选择左边的 【选择页】 中的 【介质选项】]-->b[事务日志选择 【备份日志尾部,并使数据库处于还原状态】]--点击-->确定



最后得到如下的文件

还原

先还原完整备份

还原基础完整备份的方法

再还原中间事务日志

再还原多个中间事务日志

最后还原到之前的时间点

flowchart LR 右键单击需要还原的数据库--点击-->任务--点击-->还原--点击-->事务日志

flowchart LR a[还原的源 选择 源设备]-->点击右边的点-->添加备份介质-->找到最后一个事务日志备份的备份文件


选择还原的时间点,就是之前的2024年12月17号的11时12分

最后设置 RESTORE WITH RECOVERY

完成还原

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/854268.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue-实现组件是否显示还是隐藏

比如我们在home页面需要这个标签在city页面不需要这个标签我们可以在router里面添加meta属性在需要的组件页面导入route实力获取meta属性的值

教育行业办公软件排行榜揭晓!J 人备考该选谁?

在教育领域,高效的办公软件对团队协作和个人学习意义重大。尤其对于 J 人,其偏好秩序与规划,可视化团队协作办公软件能助其在教育教培团队运作和个人公考备考中精准把控进程。本文将盘点 6 款此类软件,助力相关人士做出合适选择。 一、板栗看板 板栗看板是教育办公软件中的…

github克隆代码报错

报错一: git clone https://github.com/PanJiaChen/vue-admin-template.git报错 Cloning into vue-admin-template... fatal: unable to access https://github.com/PanJiaChen/vue-admin-template.git/: Failed to connect to github.com port 443 after 21219 ms: Timed out…

Vulnhub 靶场 DevGuru: 1

前期准备 靶机地址:https://www.vulnhub.com/entry/devguru-1,620/ kali攻击机IP:192.168.11.128 靶机IP:192.168.11.130 一、信息收集 1.使用nmap对目标靶机进行扫描开了 22、80、8585 端口。发现 git 目录,且提示做解析: 192.168.11.130 devguru.local 2. 80 端口发现用…

proxifier 抓取指定客户端软件数据包

背景 想要抓取指定Windows 客户端软件的数据包;过滤掉全局代理的无序数据包。 下载地址 https://www.proxifier.com/ 配置步骤 1. 配置 Proxy Servers2. 代理服务配置 3.Proxification Rules 配置需要监听的小程序,选择上一步配置的代理服务 任务管理器章选择想要抓包的进程…

深度学习一些基础知识

1、过拟合问题 1、数据增强 对图像进行旋转、翻转、裁剪等操作,创造出更多样的数据样本。 2、正则化 凡是能解决模型泛化误差而不是训练误差的方法,都被称为正则化。模型的泛化误差主要是由模型过拟合引起的,所以正则化的各种方法用于解决模型过拟合的问题。 L1和L2正则化:…

ABB机器人驱动器维修

ABB机器人维修驱动器是机器人的重要组成部分,负责将电信号转换为机器人关节的精确运动。驱动器一旦出现故障,机器人的运动将受到影响,导致定位不准确、速度波动等问题,严重影响生产线的稳定性和效率。因此,驱动器维修对于保障机器人的正常运行至关重要。一、ABB机器人驱动…

系统架构设计师学习

一、瀑布模型瀑布模型特点: 1.严格区分阶段,每个阶段因果关系紧密相连 2.只适合需求明确的项目 缺点: 1.软件需求完整性、正确性难确定 2.严格串行化,很长时间才能看到结果 3.瀑布模型要求每个阶段一次性完全解决该阶段工作,这不现实

IDEA中代码写错了,如何回到某个节点?

前言 大家好,我是小徐啊。我们在使用IDEA开发Java应用的时候,经常遇到的一个问题,就是有时候代码写错了,想要全部回退,或者回退到某个节点。这个在Git里面是可以操作的,但是如果没有纳入Git管理的代码的话,就不行了。好在,IDEA中,有很好的历史回退功能,今天小徐就来介…

cobbler无人值守安装系统(补鞋匠)

前言官网:https://cobbler.github.io/ Cobbler 是一个快速网络安装 Linux 的服务,而且经过调整也可以支持网络安装 Windows。 该工具使用 Python 开发,小巧轻便(才 15 k 行 Python 代码),使用简单的命令即可完成PXE网络安装环境的配置, 同时还可以管理 DHCP、DNS、TFTP、…

电商团队如何高效协作?多人协同编辑文档成关键!

在电商行业中,团队协作的重要性不言而喻。从选品策略到营销策划,再到库存管理与客户服务,每一个环节都需要各部门紧密配合。作为一支电商团队,如何高效处理信息、优化沟通,决定了运营效率与市场竞争力。而其中一个被忽视却至关重要的工具,就是多人协同编辑文档。 电商团队…