SQL Server数据库的备份和还原

6.2 SQL Server备份和还原

      数据库管理员最担心的情况就是数据库瘫痪,造成数据丢失,而备份作为数据的副本,可以有 效地保护和恢复数据。本节将介绍数据备份的原因,备份的方式.SOL Server的恢复模式.以及备 份策略和备份设备。

6.2.1为什么需要备份

    对于生产数据来讲,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果,通 常,造成数据丢失的原因主要包括以下几类。

> 程序错误,例如,程序异常终止或逻辑错误等。在程序运行期间,可能会出现程序异常终 止的情况,或者由于程序的逻辑错误导致数据丢失,包括数据库开发人员没有使用正确的 SQL 语句处理异常等。

> 人为错误(如管理员误操作).人为错误可能在任何时候不经意地发生,如用户或管理员错 误地删除了表,或更新、删除了数据。

> 计算机失败(如系统崩溃).计算机失败包括硬件和软件引起的错误,硬件故障往往导致系 统崩溃,如CPU,内存或总线故障,软件故障往往比硬件故障带来的损失更严重.如操作 sm 系统故障或 SOL Server 本身的故障。

> 磁盘失败。磁盘失败可能是由于磁盘读写磁头损坏,或者是磁盘物理块损坏。

> 灾难和偷窃。通常,灾难(如火灾、地震)和偷窃的发生会造成服务器永久性损失,需要 重新配置所有的系统。

     所以,数据库管理员的主要职责之一就是实施和规划一个妥善的备份和还原策略以保护数据库. 避免由于各种故障造成损坏而丢失数据,以在系统失效后尽快地还原数据库。

6.2.2备份类型

     在Access、FoxPro这样的桌面型数据库中,备份就是将数据库文件复制到另外一个安全的地方. 还原则是将这些文件复制回原位置,而SQL Server数据库则不仅仅是复制文件这么简单. 在 SQlL        Server 中提供了三种常用的备份类型,分别是完整备份,差异备份和事务日志备份。

1.完整备份

     完整备份包括对整个数据库,部分事务日志、数据库结构和文件结构的备份。完整备份代表的 是备份完成时刻的数据库。

    完整备份是备份的基础,提供了任何其他备份的基准,其他备份(如差异备份)只有在执行完

整备份之后才能被执行。

2.差异备份

    差异备份是指对上一次完整备份之后所有更改的数据做备份,备份过程能够识别出数据库中哪 一部分被修改了,并只对这一部分做备份。

   差异备份的优势是速度快,备份数据库所需要的时间很少,但差异备份要求事先已执行过一次 完整备份。

3.事务日志备份

事务日志备份记录了数据库的所有改变。在备份事务日志时需要考虑以下因素。

> 在执行了至少一次完整备份后,才能备份事务日志。

> 在简单恢复模式下不能备份事务日志。

> 如果没有与其相一致的数据库备份,则不能恢复事务日志。 在执行数据库事务日志备份期间,SQL Server将做以下工作。

> 备份事务日志:从上一次成功的事务日志备份到当前事务日志的尾部.

> 截断事务日志:到事务日志活动部分的开始,丢弃不活动的部分。 此外,事务日志备份主要是T-SOL语句,而不是整个数据库结构,文件结构或数据。

6.2.3恢复模式

    不管是备份还是还原,都是在一定的恢复模式中进行的。恢复模式是数据库的一种特性,控制 着数据库备份和还原的基本行为。数据库管理员应根据企业系统实际运作的需求及对数据可用性和 恢复的需求来选择合适的恢复模式。

    SQL Server 提供了三种恢复模式:分别是简单恢复模式、完整恢复模式和大容量日志恢复模式。

1.简单恢复模式

    在简单恢复模式下,不活动的日志将被删除,所以不支持事务日志备份,如图6.14所示。

    在图6.14中,进行了一些数据库备份。在最近的备份t5之后的一段时间.此数据库中出现了 数据丢失,数据库管理员将使用t5备份来将数据库还原到备份完成的时间点,之后对数据库进行的 更改都将丢失。

     由于不支持事务日志备份,数据库只能恢复到备份的时间点,而无法将数据库还原到故障点或 特定的时间点。因此,简单恢复模式主要用于小型数据库和不经常更改的数据库。

2.完整恢复模式

     对于十分重要的生产数据库,如银行,电信系统,在发生故障时可能要求恢复到历史上某个时 刻。一旦发生故障时,必须保证数据不丢失,保证数据能够恢复到发生故障时的状态,这样,就必 须采用完整恢复模式。

    完整恢复模式可在最大范围内防止出现故障时丢失数据,它包括数据库备份和事务日志备份, 并提供全面保护,使数据库免受媒体故障的影响。这个模式使用数据库和所有日志的备份去恢复数 据库,如果日志没有损坏,SQL Server 可以恢复所有数据,除了在失败那一刻的事务。

    由于支持事务日志备份,因此完整恢复模式可以将数据库恢复到任意一个指定的时间点。 如图6.15所示为完整恢复模式过程。

     在图6.15中,执行了一个数据库备份(Db_1)和两个例行的日志备份(Log_1和Log2).在执 行Log_2日志备份后,数据库中的数据发生丢失。在还原这三个备份之前,数据库管理员必须先备 份日志尾部,然后还原Db_1.Log_1和Log_2.接着还原并恢复尾日志备份(Tail).这能将数据库恢 复到故障点,从而恢复所有数据。恢复操作可以还原所有已提交的事务,正在进行的事务将回滚。

3.大容量日志恢复模式

     DBA在某些场合需要对数据库执行一些大批量的数据插入,更新或删除操作,如一次需要导入 上百万条数据,如果在完整恢复模式下,那么这些操作将产生大量的日志记录,导致数据库性能很 低。在这种环境下,可以采用大容量日志恢复模式来提高性能。

    虽然大容量日志恢复模式会完整地记录其他事务,但它只对大容量操作进行最小记录。大容量 日志恢复模式是对完整恢复模式的补充,提供了良好的性能,且占用较少的日志空间,但是,大容 量日志恢复模式增加了这些大容量复制操作丢失数据的风险,因为最小日志记录大容量操作不会逐 个记录事务。

     只要日志备份包含大容量操作,数据库就只能恢复到日志备份的结尾,而不能恢复到某个时间 点或日志备份中某个标记的事务。

实验环境(实验案例二)

同实验案例一

需求描述

每周四晚上17:00对bdqn数据库进行完整备份;每天12:00和18:00对该数据库进行事务日志备份。

先启用SQL Server 代理

右键维护计划 > 维护计划向导 > 下一步

名称自定义 > 每项任务单独计划 > 下一步

选择完整备份和事务日记

 先完整备份

选择bdqn数据库

选择备份到的路径

每周四的17:00备份

 和上一张图片调换顺序

事务日记备份路径

可自行选择报告写入的路径

检查无误后点击完成即可创建维护计划

 刷新后就能看到创建好的数据库维护计划

在SSMS中右击需要还原的数据库,在弹出的快捷菜单中选择“任务”→“还原”→“数据库” 命令,在打开的窗口中选择需要使用的备份数据进行还原,在如下图。点确定即可还原数据库

成功还原数据库

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

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

相关文章

有趣的数学 用示例来阐述什么是初值问题一

一、初值问题简述 在多变量微积分中,初值问题是一个常微分方程以及一个初始条件,该初始条件指定域中给定点处未知函数的值。在物理学或其他科学中对系统进行建模通常相当于解决初始值问题。 通常给定的微分方程有无数个解,因此我们很自然地会…

链表OJ—链表中倒数第k个节点

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 1、链表中倒数第k个节点题目: 方法讲解: 图文解析: 代码实现: 总结 前言 世上有两种耀眼的光芒,一…

【论文笔记】FSD V2: Improving Fully Sparse 3D Object Detection with Virtual Voxels

原文链接:https://arxiv.org/abs/2308.03755 1. 引言 完全稀疏检测器在基于激光雷达的3D目标检测中有较高的效率和有效性,特别是对于长距离场景而言。 但是,由于点云的稀疏性,完全稀疏检测器面临的一大困难是中心特征丢失&…

三. LiDAR和Camera融合的BEV感知算法-融合算法的基本介绍

目录 前言0. 简述1. 融合背景2. 融合思路3. 融合性能优劣总结下载链接参考 前言 自动驾驶之心推出的《国内首个BVE感知全栈系列学习教程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习下课程第三章——LiDAR和Camera融合的BEV感知算法&am…

英特尔高度依赖台积电:未来2年CPU订单达140亿美元

此前我们针对英特尔/三星/台积电对2nm工艺的发展有过探讨,具体请参考: 扩展阅读:华山论剑:2nm芯片工艺谁更强? 其中,英特尔未来几年的主要目标之一是在技术领先方面击败台积电,并从需要前沿节…

基于java swing 药品销售管理系统

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

TCP为什么可靠之“重传机制”

TCP重传机制 TCP针对数据包丢失的情况,会通过重传机制解决,包括像超时重传、快速重传、选择确认SACK、D-SACK 超时重传 TCP会设置一个定时器,如果在发送数据之后的规定时间内,没有收到对方的ACK报文,就会触发重新发…

049:VUE 引入jquery的方法和配置

第049个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

Windows系统Java开发环境安装

总结一下Java软件开发工程师常见的环境的安装,仅限Windows环境。 以下下载链接均来自官网,网络条件自己克服。 目录 1. JDKJDK Oracle 官网下载地址配置系统环境变量 2. Mavenapache maven 官网地址本地仓库和中央仓库配置配置系统环境变量 3. GitGit 官…

运维05:自动化

人工运维时代 运维人员早期需要维护众多的机器,因此需要执行很多重复的劳动,很多机器需要同时部署相同的服务或者是执行相同的命令,还得反复地登录不同的机器,执行重复的动作 自动化运维时代 早期运维人员会结合ssh免密登录&…

系统架构设计师教程(三)信息系统基础知识

信息系统基础知识 3.1 信息系统概述3.1.1 信息系统的定义3.1.2 信息系统的发展3.1.3 信息系统的分类3.1.4 信息系统的生命周期3.1.5 信息系统建设原则3.1.6 信息系统开发方法 3.2 业务处理系统 (TPS)3.2.1 业务处理系统的概念3.2.2 业务处理系统的功能3.2.3 业务处理系统的特点…

架构LNMP

目录 1.安装Nginx服务 2.安装 MySQL 服务 3.安装配置 PHP 解析环境 4.部署 Discuz!社区论坛 Web 应用 1.安装Nginx服务 实验准备 systemctl stop firewalld systemctl disable firewalld setenforce 0 安装依赖包 yum -y install pcre-devel zlib-devel gcc…