更改 Azure SQL 数据库的自动备份设置

适用于:Azure SQL 数据库

本文提供了相关示例来说明如何修改 Azure SQL 数据库的自动备份设置,例如短期保留策略和用于备份的备份存储冗余选项。 有关 Azure SQL 托管实例,请参阅更改 Azure SQL 托管实例的自动备份设置

备注

本文介绍如何删除设备或服务中的个人数据,并且可用于为 GDPR 下的义务提供支持。 有关 GDPR 的常规信息,请参阅 Microsoft 信任中心的 GDPR 部分服务信任门户的 GDPR 部分

更改短期保留策略

可以使用 Azure 门户、Azure CLI、PowerShell 或 REST API 更改默认时间点还原 (PITR) 备份保持期和差异备份频率。 以下示例演示如何将 PITR 保持期更改为 28 天,以及将差异备份更改为 24 小时间隔。

警告

如果缩短当前的保留期,则无法还原到早于新保留期的时间点。 会删除新保留期内不再需要为提供 PITR 而保留的备份。

如果延长当前的保持期,则无法立即在新的保持期内获得恢复到旧时间点的能力。 随着时间的推移,你将获得这一能力,因为系统开始将备份保留更长的时间。

备注

  • 这些 API 只影响 PITR 保留期。 如果为数据库配置了长期保留 (LTR),则它不会受到影响。 若要了解如何更改长保留期,请参阅长期保留
  • 超大规模数据库不支持配置差异备份频率,因为差异备份不适用于超大规模数据库。

为 Azure CLI 准备环境:

如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

  • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录

  • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

  • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

使用以下示例更改活动数据库的 PITR 备份保留期和差异备份频率:

# Set new PITR differential backup frequency on an active individual database
# Valid backup retention must be 1 to 35 days
# Valid differential backup frequency must be ether 12 or 24 hours
az sql db str-policy set \
    --resource-group myresourcegroup \
    --server myserver \
    --name mydb \
    --retention-days 28 \
    --diffbackup-hours 24

配置备份存储冗余

可以在创建数据库时为 Azure SQL 数据库中的数据库配置备份存储冗余。 还可以在创建数据库后更改存储冗余。

对现有数据库所做的备份存储冗余更改仅应用于将来的备份。 默认值为异地冗余存储。 有关本地冗余、区域冗余和异地冗余备份存储的定价差异,请参阅 SQL 数据库定价页

超大规模数据库的存储冗余是独一无二的。 若要了解详细信息,请查看超大规模备份存储冗余

若要在创建新数据库时配置备份存储冗余,可以使用 az sql db create 命令指定 --backup-storage-redundancy 参数。 可能值为 GeoZoneLocal

默认情况下,Azure SQL 数据库中的所有数据库均使用异地冗余存储进行备份。 如果使用本地冗余或区域冗余备份存储创建或更新数据库,则会禁用异地还原。

下面的示例在具有本地备份冗余的常规用途服务层中创建数据库:

az sql db create \
    --resource-group myresourcegroup \
    --server myserver \
    --name mydb \
    --tier GeneralPurpose \
    --backup-storage-redundancy Local

可以使用 --backup-storage-redundancy 参数和 az sql db update 命令更新现有数据库的备份存储冗余设置,超大规模数据库和基本数据库除外。 在数据库上应用更改最多可能需要 48 小时。 从异地冗余备份存储切换到本地冗余或区域冗余存储会禁用异地还原。

下面的示例代码将备份存储冗余更改为 Local

az sql db update \
    --resource-group myresourcegroup \
    --server myserver \
    --name mydb \
    --backup-storage-redundancy Local

超大规模

在创建超大规模数据库时,请仔细考虑 --backup-storage-redundancy 的配置选项。 对于超大规模数据库,存储冗余只能在数据库创建过程中指定。 之后不能更新它。 所选的存储冗余选项将用于数据库的生存期,以同时实现数据存储冗余和备份存储冗余。 请在超大规模备份存储冗余中了解详细信息。

可以使用活动异地复制将现有的超大规模数据库迁移到不同的存储冗余,这导致的故障时间最短。 也可通过数据库复制或时间点还原迁移到不同的存储冗余。 下面的示例在具有区域冗余的超大规模服务层中创建数据库:

az sql db create \
    --resource-group myresourcegroup \
    --server myserver \
    --name mydb \
    --tier Hyperscale \
    --backup-storage-redundancy Zone

有关详细信息,请参阅 az sql db createaz sql db update

不能直接更新超大规模数据库的备份存储冗余。 但是,可以将数据库复制命令--backup-storage-redundancy 参数一起使用来更改它。 下面的示例将超大规模数据库复制到使用第 5 代硬件和两个 vCore 的新数据库。 新数据库的备份冗余设置为 Zone

az sql db copy \
    --resource-group myresourcegroup \ 
    --server myserver 
    --name myHSdb 
    --dest-resource-group mydestresourcegroup 
    --dest-server destdb 
    --dest-name myHSdb 
    --service-objective HS_Gen5_2 
    --read-replicas 0 
    --backup-storage-redundancy Zone

有关语法详细信息,请参阅 az sql db copy。 有关数据库复制的概述,请参阅复制 Azure SQL 数据库中数据库的事务一致性副本

后续步骤