更改 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),则它不会受到影响。 若要了解如何更改长保留期,请参阅长期保留
  • 超大规模数据库不支持配置差异备份频率,因为差异备份不适用于超大规模数据库。

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

# Set a new PITR backup retention period on an active individual database
# Valid backup retention must be 1 to 35 days
Set-AzSqlDatabaseBackupShortTermRetentionPolicy -ResourceGroupName resourceGroup -ServerName testserver -DatabaseName testDatabase -RetentionDays 28
# Set a new PITR differential backup frequency on an active individual database
# Valid differential backup frequency must be ether 12 or 24 hours 
Set-AzSqlDatabaseBackupShortTermRetentionPolicy -ResourceGroupName resourceGroup -ServerName testserver -DatabaseName testDatabase -RetentionDays 28 -DiffBackupIntervalInHours 24

配置备份存储冗余

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

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

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

若要在创建新数据库时配置备份存储冗余,可以使用 New-AzSqlDatabase cmdlet 指定 -BackupStorageRedundancy 参数。 可能值为 GeoZoneLocal。 默认情况下,Azure SQL 数据库中的所有数据库均使用异地冗余存储进行备份。 如果使用本地冗余或区域冗余备份存储创建数据库,则会禁用异地还原。

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

# Create a new database with local-redundant backup storage.  
New-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database03" -Edition "GeneralPurpose" -Vcore 2 -ComputeGeneration "Gen5" -BackupStorageRedundancy Local

可以使用 -BackupStorageRedundancy 参数和 Set-AzSqlDatabase cmdlet 更新现有数据库的备份存储冗余设置,超大规模数据库和基本数据库除外。 可能值为 GeoZoneLocal。 在数据库上应用更改最多可能需要 48 小时。 从异地冗余备份存储切换到本地冗余或区域冗余存储会禁用异地还原。

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

# Change the backup storage redundancy for Database01 to local-redundant. 
Set-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -DatabaseName "Database01" -ServerName "Server01" -BackupStorageRedundancy Local

有关详细信息,请参阅 Set-AzSqlDatabase

超大规模

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

现有数据库可以通过数据库复制或时间点还原迁移到不同的存储冗余。 下面的示例在具有区域冗余的超大规模服务层中创建数据库:

# Create a new database with zone-redundant backup storage.  
New-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database03" -Edition "Hyperscale" -Vcore 2 -ComputeGeneration "Gen5" -BackupStorageRedundancy Zone

有关语法详细信息,请参阅 New-AzSqlDatabase

不能更新现有超大规模数据库的备份存储冗余。 但是,可以使用数据库复制命令创建数据库的副本。 然后,可以使用 -BackupStorageRedundancy 参数更新备份存储冗余。

下面的示例将超大规模数据库复制到使用第 5 代硬件和两个 vCore 的新数据库。 新数据库的备份冗余设置为 Zone

# Change the backup storage redundancy for Database01 to zone-redundant. 
New-AzSqlDatabaseCopy -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "HSSourceDB" -CopyResourceGroupName "DestResourceGroup" -CopyServerName "DestServer" -CopyDatabaseName "HSDestDB" -Vcore 2 -ComputeGeneration "Gen5" -ComputeModel Provisioned -BackupStorageRedundancy Zone

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

备注

若要将 -BackupStorageRedundancy 参数与数据库还原、数据库复制或创建辅助数据库操作一起使用,请使用 Azure PowerShell 版本 Az.Sql 2.11.0 或更高版本。

后续步骤