7 Oct 2014 9:17 PM
  • 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)功能的更多相关文章

  1. [转]Azure 表存储和 Windows Azure SQL Database - 比较与对照

    本文转自:https://msdn.microsoft.com/library/azure/jj553018 更新时间: 2014年10月 作者:Valery Mizonov 和 Seth Manhe ...

  2. Azure SQL Database (22) 迁移部分数据到Azure Stretch Database

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  3. Azure SQL Database Active Geo-Replication简介

    笔者在<迁移SQL Server 数据库到 Azure SQL 实战>一文中,介绍了如何把一个本地版的 SQL Server 数据库迁移到 Azure SQL Database.迁移虽然顺 ...

  4. Azure SQL Database Active Geo-Replication 简介

    对于数据库的维护来说,备份工作可谓是重中之重.MS Azure 当然也提供了很完善的数据库备份功能.但是在动手创建备份计划前请思考一下备份工作的真实目的.当然首先要保证数据的安全,一般来说定时创建数据 ...

  5. Azure SQL Database (19) Stretch Database 概览

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  6. Azure SQL Database (20) 使用SQL Server 2016 Upgrade Advisor

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  7. Azure SQL Database (21) 将整张表都迁移到Azure Stretch Database里

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  8. Azure SQL Database (23) Azure SQL Database Dynamic Data Masking动态数据掩码

    <Windows Azure Platform 系列文章目录> 我们在使用关系型数据的时候,有时候希望: - 管理员admin,可以查看到所有的数据 - 普通用户,某些敏感字段,比如信用卡 ...

  9. Azure SQL Database (26) 使用Query Store对Azure SQL Database监控

    <Windows Azure Platform 系列文章目录> 我们在使用Azure SQL Database的时候,需要对数据库的性能进行监控,这时候就可以有两种方法: 1.第一种方法, ...

随机推荐

  1. 实时流式计算框架Storm 0.9.0发布通知(中文版)

    Storm0.9.0发布通知中文翻译版(2013/12/10 by 富士通邵贤军 有错误一定告诉我 shaoxianjun@hotmail.com^_^) 我们很高兴宣布Storm 0.9.0已经成功 ...

  2. Offer_answer_with_SDP_rfc3264

    Network Working Group J. RosenbergRequest for Comments: 3264 dynamicsoftObsoletes: 2543 H. Schulzrin ...

  3. Android开发艺术探索笔记—— View(一)

    Android开发艺术探索笔记 --View(一) View的基础知识 什么是View View是Android中所有控件的基类.是一种界面层控件的抽象. View的位置参数 参数名 获取方式 含义 ...

  4. mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决

    mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决   最近新装好的my ...

  5. ext 3.x 让uploadPanel支持swfupload

    经常做系统的时候会遇到上传组件,特别是大文件的时候总是很郁闷,长时间无响应导致糟糕的用户体验,所以决定采用swfupload来支持文件上传. 大体代码如下. var upload = {}; uplo ...

  6. 暴力清除Android中的短信

    有些短信程序有bug,当短信(特别是彩信)没有接收完整,或者是一些异常情况下,你会收到一条短信但是看不到或者看不了. 此时郁闷的事情就来了,系统会提醒你还有1条未读短信,但是你满世界都找不到这条短信. ...

  7. LeetCode——Contains Duplicate III

    Description: Given an array of integers, find out whether there are two distinct indices i and j in ...

  8. Python3.x中bytes类型和str类型深入分析

    Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和b ...

  9. Android、iOS和Windows Phone中的推送技术

    推送并不是什么新技术,这种技术在互联网时代就已经很流行了.只是随着进入移动互联网时代,推送技术显得更加重要.因为在智能手机中,推送从某种程度上,可以取代使用多年的短信,而且与短信相比,还可以向用户展示 ...

  10. 【第三课】ANR和OOM——贪快和贪多的后果(下)

    Out of Mana,法力耗尽. 内存就像法力,耗尽了就什么都不能做了.有时候一个应用程序占用了太大的内存,超过了Android系统为你规定的限制,那么系统就会干掉你,以保证其他app有足够的内存. ...