---恢复内容开始--- 数据库的恢复模式是数据库遭到破坏时还原数据库中数据的数据存储方式,它与可用性、性能、磁盘空间等因素相关。每一种恢复模式都按照不同的方式维护数据库的数据和日志。系统提供了3种数据库的恢复模式: 1、完整恢复模式 2、大容量日志

---恢复内容开始---

数据库的恢复模式是数据库遭到破坏时还原数据库中数据的数据存储方式,它与可用性、性能、磁盘空间等因素相关。每一种恢复模式都按照不同的方式维护数据库的数据和日志。系统提供了3种数据库的恢复模式:

1、完整恢复模式

2、大容量日志记录的恢复模式

3、简单恢复模式

完整恢复模式是最高等级的数据库恢复模式。在完整恢复模式中,对数据库的所有操作都记录在数据库的事务日志中。即使那些大容量数据库操作和创建索引的操作,也就记录在数据库的事务日志中。当数据库遭到破坏之后,可以使用该数据库的事务日志迅速还原数据库。

在完整恢复模式中,由于事务日志记录了数据库的所有变化,所以可以使用事务日志将数据库还原到任意的时刻点。但是,这种恢复模式耗费大量的磁盘空间。除非是那种事务日志非常重要的数据库备份策略,否则一般不建议使用这种恢复模式。

就想完整恢复模式一样,大容量日志记录的恢复模式也使用数据库备份和日志备份还原数据库。但是,在使用了大容量日志记录的恢复模式的数据库中,其事务日志耗费了的磁盘空间远远小于使用完整恢复模式的数据库的事务日志。在大容量日志记录的恢复模式中,Check Index、bulk insert、BCP、Select Into等操作不记录在事务日志中。

对于那些规模比较小的数据库或数据不经常改变的数据库来说,可以使用简单恢复模式。当使用简单恢复模式时,可以通过执行完全数据库备份和增量数据库备份来还原数据库,数据库只能还原到执行备份操作的时刻点。执行备份操作之后的所有的数据修改都丢失并且需要重建。这种模式的特点是数据库没有事务日志。这种模型的好处是耗费比较少的磁盘空间,恢复模式最简单。

举个例子:

假设出问题的数据库为A, 新恢复后的数据库为B

1.前提:A数据库的恢复模式必须为:完整。

2.备份A数据库的日志,假设文件名为log.bak

3.使用A数据库的最近的完整备份,使用 WITH NORECOVERY 的方式,恢复为B数据库

4.使用恢复日志的方式,指定还原的时间点(T),将Log.bak文件还原到B数据库,完成后,B数据库的内容即是T时间之前的完整数据。

以下为测试语句建A数据库

--创建A数据库

CREATE DATABASE A

GO--对A数据库进行备份

BACKUP DATABASE A TO DISK= 'c:\A.bak'WITH FORMAT

GO--创建测试表

CREATE TABLE A.dbo.TB_test(IDint)

GO--插入数据

Insert Into A.dbo.TB_test(ID)select 1GO--延时1秒钟,再进行后面的操作--(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败)

WAITFOR DELAY'00:00:01'GO--假设我们现在误操作删除了 A.dbo.TB_test 这个表

DROP TABLE A.dbo.TB_test--为了测试还原时间点,先记录操作的时间点

SELECT dt=GETDATE() INTO #T

GO--在删除操作后,发现不应该删除表 TB_test--下面演示了如何恢复这个误删除的表 TB_test,以及数据行--为了避免覆盖A数据库,恢复时,生成到B数据库

GO--首先,备份A数据库的事务日志(使用事务日志才能还原到指定的时间点)

BACKUP LOG A TO DISK= 'c:\A_log.bak'WITH FORMAT

GO--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行),生成数据库B

RESTORE DATABASE B FROM DISK= 'c:\A.bak'WITH FILE= 1, MOVE N'A' TO N'C:\B.mdf',

MOVE N'A_log' TO N'C:\B.ldf', NORECOVERY, REPLACE

GO--将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早

DECLARE @dt datetime

SELECT @dt=DATEADD(ms,-20,dt) FROM #T --获取比表被删除的时间略早的时间

RESTORE LOG B FROM DISK= 'c:\A_log.bak' WITH RECOVERY,STOPAT=@dt

GO--查询一下,看表是否恢复

SELECT*FROM B.dbo.TB_test--最后删除我们做的测试环境

DROP DATABASE A

DROP DATABASE B

DROP TABLE #T

---恢复内容结束---

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql 数据库恢复模式_数据库的恢复模式相关推荐

  1. mysql属于数据库三级模式_数据库系统的三级模式指的是什么

    数据库系统的三级模式指的是什么 发布时间:2020-10-26 10:11:21 来源:亿速云 阅读:52 作者:小新 小编给大家分享一下数据库系统的三级模式指的是什么,希望大家阅读完这篇文章后大所收 ...

  2. mysql数据库的三级模式_数据库的三级模式和两级映射

    数据库的三级模式和两级映射 数据库的三级模式两级映射如下图所示 三级模式 外模式:应用程序用到的部分数据的逻辑结构.一个数据库可以有多个外模式 概念模式(模式.逻辑模式):数据库管理员用到的视图,就是 ...

  3. mysql图书管理数据库的三个关系模式_数据库 考虑如下关于图书馆的关系模式,用关系代数写出查询(数据库系统概念第六版6.14)...

    贝尔梅尔娜美 2019.03.15 采纳率:60%    等级:39 已帮助:91565人 数据库系统的基本概念 数据:实际上就是描述事物的符号记录. 数据的特点:有一定的结构,有型与值之分,如整型. ...

  4. mysql关系模式_数据库学习--关系模式

    最近开始做数据库的大实验,其中有一条实验要求如下: 通过网络查找相关文献并参考所给资料进行需求分析,画出系统的 E-R 图,给出实体或联系的属性,标明联系的种类,并写出关系模式. 画ER图没有什么问题 ...

  5. mysql打错了怎么办_数据库出错了怎么办?

    下面是网上收集的多种方法,大家可以测试下. (一) 昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个"Table 'xxx' is marked as c ...

  6. mysql多租户视频_数据库实现多租户支持的思路

    前言 在云领域我们经常会听到一个词:多租户.这个词在不同的语境中有着不同的含义,接下来将从理论到实践对以往的项目进行一次总结,同时实战一个Demo.本篇先从理论介绍云平台中的多租户的概念以及实现多租户 ...

  7. 电脑mysql是什么意思_数据库是什么意思

    展开全部 数据库需要从以下几个方面去了解: 一.数据库功能: 数据库(Database)是按照数据结构来组织.存储和管理数e5a48de588b6323131333532363134313032313 ...

  8. mysql dbms是什么_数据库管理系统(DBMS)是用来做什么的?

    展开全部 数据库管理系统(database management system)是一种操纵和32313133353236313431303231363533e58685e5aeb93133326235 ...

  9. mysql生成bak文件_数据库备份生成bak文件格式

    MSSQL备份语句 --完整备份Backup Database NorthwindCSTo disk='G:\Backup\NorthwindCS_Full_20070908.bak'--差异备份Ba ...

  10. 以下 D 不是MYSQL的对象权限_数据库课后习题及答案

    一.选择题[数据库系统的概述] 1. 数据库(DB).数据系统(DBS).数据管理系统(DBMS)之间关系是(C) A.DB包含DBS和DBMS B.DBMS包含DB和DBS C.DBS包含DB和DB ...

最新文章

  1. H3C 802.1X 客户端的安装使用方法
  2. 赛思互动:为什么越来越多的企业愿意接受SaaS服务?
  3. java 漏洞挖掘_Java反序列化漏洞的挖掘、攻击与防御
  4. 大学python作业_2020年大学moocPython编程基础作业答案
  5. 具体数学-第3课(递归式转化为求和求解)
  6. 多线程编程(16) - 多线程同步之 WaitableTimer (等待定时器对象)[续二]
  7. 无线通信设备安装工程概预算编制_起重设备安装资质承接多大工程
  8. 漏洞扫描工具之nessus
  9. 为什么说《千与千寻》是一部优秀的职场电影
  10. Skynet服务器框架系列教程,skynet 服务端框架安装/运行
  11. VMware拟收购云应用管理服务商Wavefront
  12. 手机java大作_恐怖大作-暗黑惊怵
  13. 第049篇:VBA之合并单元格、取消合并单元格并保留原来的数据
  14. 21_lua生成随机数
  15. 基于卷积神经网络的高光谱分类(1D、2D、3D-CNN)
  16. 文件上传与下载SmartUpload
  17. 推荐系统(十五)多任务学习:谷歌MMoE(Multi-gate Mixture-of-Experts )
  18. 一文搞懂css中精灵图如何使用
  19. python-selenium使用 chrome chromedrive版本问题
  20. linux下dynamips 与vpcs通信的实现

热门文章

  1. 用blender环绕物体拍摄
  2. win10计算机管理员的权限才能删除,Win10文件夹删除不了需要管理员权限怎么办?Win10文件夹删除不了需要管理员权限的解决方法...
  3. Math数学对象(万能随机数公式)
  4. 两人互殴打架派出所如何处理
  5. 【转帖】2004年最一针见血的279句话
  6. Python爬取天堂网图片
  7. 11月27日“软件开发模式思考:传统与敏捷 我们在什么位置?”的主题活动成功举办
  8. 微信小程序--云开发静态网站h5跳小程序
  9. axios post请求下载文件流
  10. 金融壹账通冲刺港股:9个月亏10亿 半年前刚换帅