备份 Azure SQL 数据库

已完成

你就职的零售组织使用 Azure SQL 数据库来存储企业资源规划 (ERP) 系统的关系数据。 公司将此系统用于其所有的会计、客户关系管理、销售管理和公司管理过程。 如果可以帮助防止组织丢失此数据,则可以防止企业遭受巨大损失,并且可能需要停止运营。

董事会已授权你负责保护这些数据。 你需要确保在灾难发生时,你可以在三个小时内将所有数据还原到故障之前。

让我们来了解 Azure SQL 数据库备份以及如何有效地使用它们。

用于 Azure SQL 数据库备份的存储

Azure SQL 数据库自动创建数据库备份并保留 7 至 35 天。 保留时间取决于创建数据库时选择的购买模型和服务层级。 当备份完成时,SQL 数据库将其作为 blob 存储在 Azure 订阅中的读取访问权限异地冗余存储 (RA-GRS) 帐户中。 SQL 数据库将 RA-GRS 帐户复制到配对区域,使任何一个区域免受服务影响。

Azure SQL 数据库使用 SQL Server 技术进行以下类型的备份:

  • 完整备份:在完整备份中,SQL 数据库备份数据库和事务日志中的所有内容。 SQL 数据库每周进行一次完整备份。
  • 差异备份:在差异备份中,SQL 数据库备份上次完整备份之后更改的所有内容。 SQL 数据库每 12 小时进行一次差异备份。
  • 事务备份:在事务备份中,SQL 数据库备份事务日志的内容。 如果最新的事务日志失败或损坏,则可回退到以前的事务日志备份,前提是按照此处指南进行保留:Azure SQL 数据库中的自动备份。 事务备份使管理员能够恢复到特定时间,包括误删数据之前的时间点。

可使用这些备份执行以下任务:

  • 还原现有数据库的新副本。
  • 将已删除的数据库还原到被删除时的时间。
  • 将数据库还原到另一个位置或区域。
  • 使用长期保留 (LTR) 从长期备份还原数据库。 可以为 Azure SQL 数据库启用 LTR。

尽管很少发生存储总量故障,但当发生该故障时,如果丢失实时事务日志,你可能会丢失最多 5 分钟前的更改。 如果事务日志是完整的,则可以还原到发生故障的那一刻。

备份和服务层级

创建数据库时,默认备份保留期设置为 7 天。 之后,你可以将该持续时间更改为 0-35 天。 使用基于数据事务单元 (DTU) 的购买模型创建数据库时,该数据库的默认保留期取决于服务层级:

服务层级 默认保留期
基本 一周
Standard 五周
高级 五周

备份频率如何?

有用于时间点还原的备份,也有用于长期保留 (LTR) 的备份。

SQL 数据库完全支持时间点还原。 它们自动创建完整备份、差异备份和事务日志备份。 Azure SQL 数据库服务会在创建数据库后立即计划第一次完整备份。 完整备份通常可在 30 分钟内完成,但如果数据库很大,则可能需要更长时间。

在完成首次完整备份后,SQL 数据库服务会在后台以静默方式自动计划和管理所有后续备份。 该服务平衡整体系统工作负荷,因此负责确定所有数据库备份的确切时间。 不能更改或禁用备份作业。

SQL 数据库服务将 LTR 的完整备份在 Azure Blob 存储帐户中保留长达 10 年。 可以配置 LTR 策略来执行每周的自动完整备份。 LTR 备份存储取决于所选频率和保持期。

存储成本

Microsoft 提供 Azure 备份服务来创建包含所有内容的备份,并提供一个可预测的定价系统来让你轻松跟踪任何 Azure 数据备份成本。 Azure SQL 数据库备份定价基于每个月的实例成本(受保护的数据)和存储成本。

默认情况下,Azure 备份将 7 天自动数据库备份复制到 RA-GRS 标准 blob 存储。 Azure 将此存储用于每周完整备份、每日差异备份和 5 分钟复制一次的事务日志备份。 事务日志的大小取决于数据库的变化率。

Azure 备份提供与数据库大小 100% 相等的最小存储量,不收取额外费用。 超出此部分的额外备份存储空间用量按 GB/月收费。

使用 Azure SQL 数据库备份的优势

Azure 备份提供以下优势:

  • 可以降低基础结构成本,因为前期成本和运营费用很少。
  • 你可以使用一系列功能来备份数据、保护数据并将其存储在与数据库不同的位置。
  • 可以在主 Azure 数据中心的三个不同位置存储数据的三个副本。 可以在其他远程 Azure 数据中心中存储另外三个副本。 这种安排可以防止除最严重的灾难以外的所有灾难。
  • 数据在离开源数据库之前都已加密,无论是传输中的数据还是保存在 Azure 备份保管库中的数据。

知识检查

1.

你已在 Azure SQL 数据库中创建了新数据库。 首次完整备份将在何时运行?

2.

SQL Server 备份默认存储在何处?