Azure SQL Database 时间点还原(Point in Time Restore)功能
- Comments 0
- Likes
原文地址:http://blogs.technet.com/b/azuretw/archive/2014/10/06/azure-sql-database-point-in-time-restore.aspx
本篇文章,将说明 Azure SQL Database 的时间点还原( Point in Time Restore )功能,这项功能在 Azure SQL Database 的 Basic、Standard、Premium 版皆有提供。在先前的文章中,Azure SQL Database 团队已经介绍了 Azure SQL Database 多项新功能,其中也包含了时间点还原,您可以参考下列图表。在这份图表我们可以看到,时间点还原功能是使用最近的数据备份 ( backup ) 来还原受损或是遭到删除的数据库。
RTO ( Recovery Time Objective ) : 可忍受的数据遗失的时间长度
RPO ( Recovery Point Objective ) : 系统要在多少时间内回复正常
业务连续性与灾害复原( BCDR, Business Continuity and Disaster Recovery )相关功能 |
Basic版 |
Standard版 |
Premium版 |
实时还原 ( Point in Time Restore ) |
还原至过去7天内的某时间点 |
还原过去14天内的某时间点 |
还原过去35天内的某时间点 |
地理还原 ( Geo-Restore ) |
RTO<24小时 RPO<24小时 |
RTO<24小时 RPO<24小时 |
RTO<24小时 RPO<24小时 |
标准异地数据复制备援 ( Standard Geo-Replication ) |
不支持 |
RTO<2小时 RPO<30分钟 |
RTO<2小时 RPO<30分钟 |
主动式异地数据复制备援 ( Active Geo-Replication ) |
不支持 |
不支持 |
RTO<1小时 RPO<5分钟 |
何谓时间点还原 ( Point in Time Restore ) ?
Azure SQL Database服务中的所有数据库,皆会受到自动备份系统( automated backup system )保护。备份的保留期限会随着订阅的 Azure SQL Database 层级而有所不同,Premium 版为 35 天、Standard 版为 14 天、Basic 版为 7 天。
时间点还原为一个自助式服务( self-service ),允许客户利用在保留期间所做的的备份来还原数据库。在使用时间点还原功能时,会重新建立一个新的数据库。
Azure SQL Database数据库备份采取自动备份,您不需要做设定而且也不会额外针对备份来作收费,您只需要在使用时间点还原功能时负担额外的费用。还原时所建立的新数据库,其收费标准跟平常的数据库收费标准一样。
总而言之,自动备份系统和时间点还原提供了零成本和零管理的方式来保护您的数据,无论任何原因损毁了数据库,您都可以在保留期间内任一时间点中回复。
了解何谓自动备份 ( Automatic Backups )
所有的Azure SQL Database数据库的 Basic、Standard、Premium 版都提供了自动备份的功能。 Azure SQL Database 会每周做一次完整备份 ( full backups ),每天做一次差异备份 ( differential backup ) 以及每五分钟进行事务历史记录备份 ( log backups )。当数据库被建立完成后即会开始第一次完整备份,这通常要花费 30 分钟甚至更久的时间来完成备份。若该数据库生来规模就很大 ( born big ) (例如 : 建立的数据库为数据库副本或是从大型数据库还原所产生的数据库 ),备份所需的时间会花费更久。在第一次备份完成之后,所有后续的备份会自动的由系统做安排,并且 "默默" 地在后端进行管理。
完整备份( full backups )和差异备份( differential backups )的确切执行之时间点,是由系统依据目前以系统负载量来做决定。而备份的档案储存在与目前数据库相同的数据中心内。
当您还原一个数据库时,还原所需的备份文件将从本地备援处( local redundancy )来获取。而每周和每日的最新备份也会复制到 Microsoft Azure 地理备援的配对数据中心 ( paired region ) 以便进行跨数据中心之灾难回复。关于地理备援的叙述,在 Azure SQL Database 团队之前发表的文章中有更详细的叙述。
对使用中的数据库 ( Live Database ) 作时间点还原
进入 Azure 管理入口网站,即可透过简单的操作将各版本之 Azure SQL Database ( Basic、Standard、Premium )数据库还原到任何的时间点 ( 但必需在备份的保留期限内 )。
您可以选择在数据库列表中选取需要还原的数据库,或是进入该数据库的仪表板内,并且点击"还原"选项。
您将会被提示要输入一个新的数据库名称,并且利用滑动组件来选取想要还原的时间点 ( 必需在保留期限内 ),同时也可以手动输入最接近的时间点。完成之后按下确认键,数据库便会开始还原到您所设定的时间点。
还原数据库所需的时间由很多因素决定,包含 : 数据库大小、选取时间点远近、要还原到选取时间点数据库需要重新架构的状态数量等,通常一个庞大的数据库,需要数个小时来还原。
还原的数据库将会被建立在与原始数据库相同的服务器上,也因此我们需要重新赋予数据库新的名称。而还原数据库的服务层级则是与还原时间点时数据库设定的服务层级相同。
您需要确认您的数据库有足够的数据库传输单位额度( DTU ),同时也要注意的是,还原时所建立的新数据库,其服务层级可能会与目前数据库的状态不同。
一旦完成了还原动作,还原的数据库收费标准与一般的数据库是相同的。
您可以将还原数据库来替换原本的数据库,或是利用还原数据库作为数据检索,再去更新原始的数据库。
若您还原数据库的目的是用来取代现有的数据库,您应该要验证服务层级与效能层级是否合适,并且在需要时进行扩充。透过更改原始数据库名称,再将还原数据库的名称利用 T-SQL 指令 ALTER DATABASE 将名称更改为原本数据库的名称,这样就可以完全取代原本的数据库了。
若您计划从备援数据库内读取数据,您将需要分别编写和执行您所需要回复数据相关之Script。
虽然还原数据库需要花费相当长的时间,但是在还原的过程时,还原数据库就会显示在数据库列表上。您可以在还原的过程中删除还原数据库,此时将会取消还原的动作,您将不需要付出任何费用。
还原最近删除的数据库
您能够将在其保留期限内不小心遭到删除的数据库还原到被删除的时间点,或更早的时间点。
您可以使用Azure管理入口网站来还原被删除的数据库,首先需要在 Azure SQL Database 的数据库列表中,选取"已删除的数据库"选项,将可以看到还在保留期限内遭到删除的数据库列表。
注意 : 若您重复使用太多次相同的数据库名称,则需要更加注意删除的时间,这样才不会还原到错误的数据库。
就如同先前还原步骤一样,您需要为还原数据库新增一个名称,而且您还原的数据库也只能够还原到与原始数据库相同的服务器上。比较特别的是,在这种情况下的还原步骤,只能够选取固定的时间点作还原。还有一点要注意的是,当您删除服务器(Server)之后,您将无法复原先前存放在该服务器的所有数据库。
备份 (Backup ) / 还原 ( Restore ) vs. 复制 ( Copy ) / 导出 ( Export ) / 汇入 ( Import )
时间点还原可以将数据损毁或是被删除的数据库重新复原。时间点还原并非使用先前 Azure SQL Database Web/Business 版数据库运用复制为技术基础,所实作出的导出 ( Export ) / 自动导出 ( automated export ) 方式 ( 此方式较为昂贵 ) 来回复数据库。单单这一改进就证明了新版 Azure SQL Database 的优势。
- 新版的服务层备份和还原的费用相对的便宜 ( 就备份方面,如果没有要增加额外的备份,是不需要收费的,而需要收取的费用则是用来确保您的数据库副本导出的一致性还有储存BACPAC file )。
- 零管理 ( Zreo Admin ) : 备份是由系统自动进行的,您只需要自行管理和安排导出的排程。
- 更好的 RPO : 您可以还原到特定的时间点,并且时间可以使用到比使用导出汇入的方式更精细的刻度( 1分钟 )。
- 更好的 RTP: 从备份复原的速度比汇入的方式还要快。
注意 : 虽然在保存期限内,利用备份方式回复数据库是相对便宜及快速的,而使用复制/导出/汇入方式仍适用于更长期数据库备份策略( long term archival )。
使用 APIs 还原数据库
除了透过 Azure 管理入口网站来还原数据库之外,您也可以使用 PowerShell ( Start-AzureSqlDatabaseRestore )和 SQL Database management API 来还原数据库。
总结
自动备份与时间点还原(自助式服务)功能保护您的数据库,让其能够从数据损毁以及删除的状态下回复,这种零成本和零管理的方法,不管是在哪一种服务层Basic、Standard、Premium)的数据库都有提供。备份和还原功能在短期回复的需求下,性能较优于使用复制/汇入/导出的方式,因此就短期数据库回复而言,我们鼓励您使用这种方式来做为您的商业连续性对策,而仅在需要长期归档或数据转移时才使用导出/汇入的方式。
Azure SQL Database 时间点还原(Point in Time Restore)功能的更多相关文章
- [转]Azure 表存储和 Windows Azure SQL Database - 比较与对照
本文转自:https://msdn.microsoft.com/library/azure/jj553018 更新时间: 2014年10月 作者:Valery Mizonov 和 Seth Manhe ...
- Azure SQL Database (22) 迁移部分数据到Azure Stretch Database
<Windows Azure Platform 系列文章目录> Azure SQL Database (19) Stretch Database 概览 Azure SQL Da ...
- Azure SQL Database Active Geo-Replication简介
笔者在<迁移SQL Server 数据库到 Azure SQL 实战>一文中,介绍了如何把一个本地版的 SQL Server 数据库迁移到 Azure SQL Database.迁移虽然顺 ...
- Azure SQL Database Active Geo-Replication 简介
对于数据库的维护来说,备份工作可谓是重中之重.MS Azure 当然也提供了很完善的数据库备份功能.但是在动手创建备份计划前请思考一下备份工作的真实目的.当然首先要保证数据的安全,一般来说定时创建数据 ...
- Azure SQL Database (19) Stretch Database 概览
<Windows Azure Platform 系列文章目录> Azure SQL Database (19) Stretch Database 概览 Azure SQL Da ...
- Azure SQL Database (20) 使用SQL Server 2016 Upgrade Advisor
<Windows Azure Platform 系列文章目录> Azure SQL Database (19) Stretch Database 概览 Azure SQL Da ...
- Azure SQL Database (21) 将整张表都迁移到Azure Stretch Database里
<Windows Azure Platform 系列文章目录> Azure SQL Database (19) Stretch Database 概览 Azure SQL Da ...
- Azure SQL Database (23) Azure SQL Database Dynamic Data Masking动态数据掩码
<Windows Azure Platform 系列文章目录> 我们在使用关系型数据的时候,有时候希望: - 管理员admin,可以查看到所有的数据 - 普通用户,某些敏感字段,比如信用卡 ...
- Azure SQL Database (26) 使用Query Store对Azure SQL Database监控
<Windows Azure Platform 系列文章目录> 我们在使用Azure SQL Database的时候,需要对数据库的性能进行监控,这时候就可以有两种方法: 1.第一种方法, ...
随机推荐
- 提高Java代码质量:使用枚举定义常量(转)
一.分析 常量的声明是每一个项目中不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量.不过,在1.5版之后有了改进,即新增了一种常量声明方式,枚举常量.代码如下: enum ...
- jQuery---EasyUI小案列
jQuery EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等 ...
- 搭建WebRtc环境
0.前言 这次的需求,准备做的是一个类似与QQ视频一样的点对点视频聊天.这几天了解了一些知识后,决定使用HTML5新支持的WebRtc来作为视频通讯.客户端使用支持HTML5浏览器即可.服务器段需要提 ...
- (转) 寄存器、RAM、ROM、Flash相关概念区别整理
转自 http://m.blog.chinaunix.net/uid-30077524-id-5570244.html 文章对这几个东西讲得很清楚,值得收藏. 寄存器 寄存器是中央处理器内的组成部份. ...
- [OpenCV] Face Detection
即将进入涉及大量数学知识的阶段,先读下“别人家”的博文放松一下. 读罢该文,基本能了解面部识别领域的整体状况. 后生可畏. 结尾的Google Facenet中的2亿数据集,仿佛隐约听到:“你们都玩儿 ...
- android 视频的缩略图 缓存机制和 异步加载缩略图
在这次的工作开发项目中,涉及到一个视频缩略图的视频列表:这个在大家看来,制作视频缩略图就是两行代码就搞定的事.确实是这样的,百度一下,每个帖子都知道制作视频缩略图的方法,在这里确实也是一样的,但是我要 ...
- 【转载】一步一步写算法(之hash表)
转载自:http://blog.csdn.net/feixiaoxing/article/details/6885657 [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaox ...
- LeetCode——LRU Cache
Description: Design and implement a data structure for Least Recently Used (LRU) cache. It should su ...
- How can I learn to program?
黑客与画家:硅谷创业之父paul graham关于回答‘How can I learn to program’ How can I learn to program? Find a friend wh ...
- 用emacs的org2blog组件写cnblogs博客 -- 环境配置及使用
Table of Contents 配置 使用 创建一篇博文并发布 更新一篇博文 删除一篇博文 待办 本文给出了一个安装.配置org2blog的方法,实现在emacs中书写blog文章.并发布到cnb ...