Azure SQL 数据库备份和恢复

Azure SQL database backups and restore

我们正在为 Azure 托管的应用程序准备 DR 计划,我在数据库还原文档中遇到了一些令人困惑的措辞。
据我了解,日志备份大约每 5 分钟进行一次,并且这些是地理冗余的,但是当我使用 -FromGeoBackup 标志进行恢复时,最新的备份比那个更旧。
我可以使用更新的备份进行时间点还原,但据我所知,这只能在同一台服务器上完成。
如果我们的主数据中心出现故障,我们需要恢复到新数据中心的新服务器怎么办?
是通过 -FromGeoBackup 执行此操作的唯一方法,数据间隔大约为 1 小时,还是我可以使用地理冗余日志备份来获取更新的版本?
如果相关的话,这是使用标准层数据库。

我觉得Point-in-time restore-FromPointInTimeBackup也许更适合你。

您可以使用 Azure 门户、PowerShell 或 REST API 将独立数据库、池数据库或实例数据库还原到较早的时间点。该请求可以为还原的数据库指定任何服务层或计算大小。确保要将数据库还原到的服务器上有足够的资源。完成后,还原会在与原始数据库相同的服务器上创建一个新数据库。还原的数据库根据其服务层级和计算大小按正常费率收费。在数据库还原完成之前,您不会产生费用。

您通常将数据库还原到较早的点以进行恢复。您可以将还原后的数据库作为原始数据库的替代品,或者将其作为数据源来更新原始数据库。

数据库替换

  • 如果您打算将还原的数据库替换为 原始数据库,你应该指定原始数据库的计算 规模和服务等级。然后您可以重命名原始数据库,并且 使用 ALTER 为还原的数据库指定原始名称 T-SQL.
  • 中的 DATABASE 命令

数据恢复

  • 如果您打算从还原的数据库中检索数据以进行恢复 由于用户或应用程序错误,您需要编写并执行一个 从恢复的数据库中提取数据的数据恢复脚本 并应用于原始数据库。虽然恢复操作 可能需要很长时间才能完成,恢复数据库是可见的 在整个还原过程中的数据库列表中。如果删除 恢复期间的数据库,恢复操作将是 已取消,您不会为未取消的数据库付费 完成还原。

    参考:Restore-AzSqlDatabase

希望对您有所帮助。

是的,如果您没有使用故障转移 Groups\Geo-replication,那么您可以使用 Geo-restore (Restore-AzureRmSqlDatabase -FromGeoBackup) 的默认恢复选项。在进行备份和将备份异地复制到不同区域中的 Azure blob 之间存在延迟。因此,还原后的数据库最多可以比原始数据库晚一小时。使用 Geo-restore,RTO 为 12 小时,RPO 为 1 小时。

如果将数据库恢复到一个小时前会导致业务责任或您的组织负担不起,您应该使用 failover groups。这使您的数据库(和应用程序)能够在发生中断时快速恢复不同区域的可用性。

使用自动故障转移组时,RTO 为 1 小时(以确保故障转移由中断规模证明是合理的)和 RPO 5 秒。但是,使用手动数据库故障转移,RTO 为 30 秒,RPO 为 5 秒。