Azure SQL数据库备份和还原

时间:2019-11-28 10:54:18

标签: azure azure-sql-database database-backups

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

2 个答案:

答案 0 :(得分:1)

是的,如果您不使用故障转移组\ Geo复制,那么您具有默认的恢复选项,即地理还原(Restore-AzureRmSqlDatabase -FromGeoBackup)。在进行备份与将其地理复制到其他区域中的Azure Blob之间存在延迟。因此,还原的数据库可能比原始数据库晚一小时。使用地理还原,RTO为12小时,RPO为1小时。

如果将数据库恢复到一个小时之前会导致商业责任或您的组织负担不起,则应使用failover group s。这样一来,您的数据库(和应用程序)就可以在发生故障时快速恢复其他区域的可用性。

对于“自动故障转移”组,RTO为1小时(以确保通过故障范围证明故障转移是合理的),RPO为5秒。但是,通过手动数据库故障转移,RTO为30 s,RPO为5 s。

答案 1 :(得分:-1)

我认为Point-in-time restore -FromPointInTimeBackup可能更适合您。

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

通常,出于恢复目的,您将数据库还原到较早的位置。您可以将已还原的数据库替换为原始数据库,也可以将其用作更新原始数据库的数据源。

数据库替换

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

数据恢复

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

    参考:Restore-AzSqlDatabase

希望这会有所帮助。

相关问题