SQL Server数据库的备份和还原

news2025/1/11 19:59:06

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.coloradmin.cn/o/1292179.html

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

相关文章

KubeSphere Marketpalce 上新!Databend Playground 助力快速启动数据分析环境

12 月 5 日,Databend Labs 旗下 Databend Playground(社区尝鲜版)成功上架青云科技旗下 KubeSphere Marketplace 云原生应用扩展市场,为用户提供一个快速学习和验证 Databend 解决方案的实验环境。 关于 Databend Playground Dat…

视频集中存储/智能分析融合云平台EasyCVR平台接入rtsp,突然断流是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

销售如何开发客户?

在销售过程中,开发客户是至关重要的一环。只有拥有足够的客户群体,才能为公司带来更多的业务机会和收入。 现如今,不管是哪一行竞争都十分激烈,特别是那些本身没有核心竞争力和核心技术的传统 to b企业,正处于十分尴尬…

输入一个月份,告知这个月份属于哪个季节的

一、输入特点 使用switch语句,属于月份的数字;如果和月份的数字没有关系则会显示【你的输入有错误!】。 二、输入代码 import java.util.Scanner; public class judgeSeasonDemo {public static void main(String[] args){try (Scanner s…

Linux | tar,bc,uname指令

Linux | tar,bc, 文章目录 Linux | tar,bc,tar指令【重要】bc指令uname –r指令 tar指令【重要】 tar [-cxtzjvf] 文件与目录 … 参数: -c :建立一个压缩文件的参数指令(create 的意思);-x &am…

网站测试都要测试哪些?如何进行测试?

1 UI测试 看页面是否美观养眼(包括页面的布局是否合理,策划是否舒服美观,页面长度是否合理,前景色与背景色是否搭配,页面风格是否统一,色调是否适合人眼,会不会太刺眼,字体大小是否合适&#x…

科技云报道:AI+PaaS,中国云计算市场迎来新“变量”?

科技云报道原创。 没有小的市场,只有还没有被发现的大生意。 随着企业数字化转型的逐级深入,市场需求进一步向PaaS和SaaS层进发,使之成为公有云服务市场增长的主要动力。 根据IDC最新发布的报告显示,2022-2027五年间中国公有云…

HarmonyOS开发工具DevEco Studio的下载和安装

一、DevEco Studio概述 一、下载安装鸿蒙应用开发工具DevEco Studio 开发鸿蒙应用可以从鸿蒙系统上运行第一个程序Hello World开始。 为了得到这个Hello World,你需要得到这个Hello World的源代码,源代码是用人比较容易看得懂的计算机编程语言规范写的…

私域最全养号攻略---微信

微信号的使用规则: 注册新微信、微信实名认证、主动添加好友、面对面建群、被动添加好友、进群限制、朋友圈限制、好友上限 微信权重加分规则: 基础信息是否完整、注册时间、微信使用行为、 微信权重扣分规则: 使用的环境是否正常、部分行为会…

simulink merge模块使用案例分析

作用:汇总多个信号分支,但最终可根据用户设定条件选择某路分支输出 Enabled Subsystem3 Enabled Subsystem2 分析:可以看到,在1s时刻输出 Enabled Subsystem2的1,在2s时刻输出 Enabled Subsystem3的2。 为方便理解&a…

ComplexHeatmap热图专栏 | 6. 3D热图绘制教程

本期教程 原文链接https://mp.weixin.qq.com/s/EyBs6jn78zOomcTv1aP52g 6 3D热图的绘制教程 基于《热图绘制教程》专栏,本教程已更新了5个章节,不知道大家是否有所收获。对于小杜个人来说,真的需要不断的复习和练习才可以记住,但…

【数据结构】手撕排序

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、排序的概念及其运用1.1 排序的概念1.2 常见的算法排序 二、 冒泡排序三、直接插入排…

【C语言】程序设计加密解密

🚩write in front🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大博…

系列学习前端之第 3 章:一文精通 css

全套学习 HTMLCSSJavaScript 代码和笔记请下载网盘的资料: 链接: 百度网盘 请输入提取码 提取码: 6666 一、CSS基础 1. CSS简介 CSS 的全称为:层叠样式表 ( Cascading Style Sheets ) 。 CSS 也是一种标记语言,用于给 HTML 结构设…

电脑搜不自己的手机热点,其余热点均可!

一、现象: 之前可正常连接,突然间发现收不到自己的WiFi信号,其余人均可收到。通过重复手机电脑关机、改变热点设置中的频段等方式均没解决,同事电脑和手机可搜索到我的WiFi。 二、问题: WiF驱动程序更新 三&#x…

js vue 输入正确手机号/邮箱后,激活“发送验证码”按钮

按钮禁止点击状态: 按钮能够点击状态: 我采用的方式是监听手机号/邮箱输入框的输入事件,即实判断用户输入的数据是否满足规则,如果满足手机号/邮箱规则,则激活“获取验证码”按钮。 话不多说,上代码 样式…

数据结构与算法-D7栈实现及应用

顺序栈 具有顺序表同样的存储结构,由数组定义,配合用数组下标表示的栈顶指针top完成操作 sqstack.h stack_creat stack_push stack_empty stack_full 1、判断栈是否为空 2、top--,取:data[top1] stack_top stack_clear stack_fre…

加密系统,您的数据安全守护者,助您远离泄露风险!

随着云计算、大数据等技术的快速发展,企业在技术升级,业务上云的同时,也面临着来自互联网的各类安全威胁,并且导致数据信息的泄露。企业数据安全问题几乎为新时代人的焦虑又添上了一把火,面对形形色色的网络攻击手段&a…

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

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

【Vue】学习路线图(VIP珍藏版)

爆肝三天,整理了下Vue的常用内容, 穿插开发过程中遇到的问题与总结, 后期不定期更新[开发遇到的问题与小结]到本文章中, 欢迎各位大佬指正~ 目录 HTML、CSS和JavaScript基础知识 HTML标记语言 HTML (HyperText Markup Language) HTML5: 最新版本的 HTML CSS样式 JavaS…