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.mzph.cn/news/204871.shtml

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

相关文章

每日汇评:在周五美国非农数据公布前,黄金上行空间有限

金价周四早间在2020美元上方巩固了此前的反弹; 随着美债收益率趋于稳定,美元处于三周高点; 黄金价格在第四季度图表上看起来很脆弱,焦点转向美国非农就业数据; 昨日早些时候,由于市场情绪依然疲软&#xff…

docker安装Postgres-XL集群及踩过的N个坑

说明:本文是在一个机器内部用docker创建了三台centos,然后构建的pgxl集群 文章目录 1. 学习docker2. 创建三台centos3. 安装SSH4. 创建新用户postgres5. 关闭防火墙 关闭selinux6. 配置免密登录7. 下载并传输Postgres-XL的源码8. 配置环境变量10. 安装11…

[TKDE2020]@Multi-Source_Spatial_Entity_Linkage

论文地址:https://arxiv.org/pdf/1911.09016v1.pdf(下文中提及的引用信息如未解释,请索引原论文末的参考文献) 论文中提到的SSTD2019Multi-Source Spatial Entity Linkage (提取码:i3xt) 论文重要部分翻译 Abstract …

【Java系列】函数式接口编程

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

视界臻色彩 轻巧薄未来 《2023年中国OLED电视发展白皮书》发布

随着中国经济迈入新周期,彩电行业也进入存量竞争阶段。在此背景下,主流品牌围绕新产品、新技术、新应用等方面积极发力,特别是在高端彩电市场的争夺中,伴随着三星OLED的入局开始变得愈发激烈。我国“十三五”规划中明确指出&#…

MySQL高级--01_1--数据库缓冲池(buffer pool)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 数据库缓冲池(buffer pool)DBMS 会申请占用内存来作为数据缓冲池,在真正访问页面之前,需要把在磁盘上的页缓存到内存中的Buffer Pool 之后才…

2024年网络安全比赛--系统渗透测试(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.在渗透机中对服务器主机进行信息收集,将服务器开启的端口号作为 Flag 值提交; 2.在渗透机中对服务器主机进行渗透,在服务器主机中获取服务器主机名称&#xff…

MX6ULL学习笔记 (八) platform 设备驱动实验

前言: 什么是 Linux 下的 platform 设备驱动 Linux下的字符设备驱动一般都比较简单,只是对IO进行简单的读写操作。但是I2C、SPI、LCD、USB等外设的驱动就比较复杂了,需要考虑到驱动的可重用性,以避免内核中存在大量重复代码&…

全志XR806蓝牙透传(单向)测试

评测三 蓝牙透传(单向) 有时无线透传在无法布线时有很方便的效用,不妨试试蓝牙透传,效果如下: 具体是无线数据->串口数据,串口数据->无线数据,目前前者实现了,后者还有些问题未解决, 实现…

支持生成接口文档!Apipost IDEA插件使用体验

前言 Idea 是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序,Idea 还具有许多插件和扩展,可以根据开发人员的需要进行定制和扩展,从而提高开发效率,今天我们就来介绍一款…

持续集成交付CICD:Sonarqube多分支代码扫描

目录 一、实验 1.Sonarqube安装插件 2.Sonarqube多分支代码扫描 一、实验 1.Sonarqube安装插件 (1)不同软件版本对应不同插件版本 (2)插件对应版本下载安装 将下载好的插件包(sonarqube-community-branch-plugin…

三层交换机配置DHCP服务

第一步:进入二层交换机Switch 1)输入命令: Switch(config)#vlan 10 Switch(config)#vlan 20 2)修改F0/1 和F0/2为access口,F0/24为trunk口 第二步:进入三层交换机 1)输入命令 Switch(config)#…

每日一练2023.12.7—— 情人节【PTA】

题目链接:L1-035 情人节 题目要求: 以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出…

PPT设置章节

0 Preface/Foreward 1 添加章节方法 选择 > 开始 > 节 可以进行: 新增节重命名节删除所有节 相关节的内容如下:

超大规模集成电路设计----FPGA时序模型及FSM的设计(八)

本文仅供学习,不作任何商业用途,严禁转载。绝大部分资料来自----数字集成电路——电路、系统与设计(第二版)及中国科学院段成华教授PPT 超大规模集成电路设计----RTL级设计之FSM(八) 7.1 CPLD的时序模型7.1.1 XPLA3 时序模型7.1.…

maven篇---第三篇

系列文章目录 文章目录 系列文章目录前言一、如何解决依赖传递引起的版本冲突?二、说说maven的依赖原则三、说说依赖的解析机制?四、说说插件的解析机制前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男…

postgresql从入门到精通 - 第37讲:postgres物理备份和恢复概述

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。 第37讲&#…

麒麟信安系统下的硬盘分区情况说明

目前飞腾平台上面麒麟信安系统分区情况如下: Tmpfs为内存文件系统,可以不考虑,真正使用的是两个分区 两个分区加起来为51G 查看cat /etc/fstab可以看到/data这个分区下包含了home opt root等常用文件夹 再加上这个分区容量只有17G&#xff0c…

TCP单聊和UDP群聊

TCP协议单聊 服务端: import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.V…

EG网关串口连接威纶通触摸屏应用案例

EG网关串口连接威纶通触摸屏应用案例 威纶通触摸屏广泛应于工业控制领域,是一款性能高,运行稳定的人机交互设备。此次我们要把威纶通的触摸屏通过Modbus-RTU协议连接EG系列网关,实现电脑Web页面和手机APP对威纶通触摸屏的远程数据采集和读取…