管理自动备份(预览版)| Azure Arc 启用的 SQL Server
适用范围:SQL Server
适用于 SQL Server 的 Azure 扩展可以自动执行备份到本地存储或网络共享的备份。 对于 Azure Arc 实例启用的 SQL Server,备份将写入默认备份位置。
本文介绍了如何执行以下操作:
- 启用自动化的备份
- 配置备份计划
可通过 Azure 门户或 az
CLI 启用自动备份。
要启用自动备份,请将保留天数设置为非零值。
自动备份仅适用于具有软件保障、SQL 订阅或即用即付的许可证。 有关详细信息,请参阅功能可用性取决于许可证类型。
备份频率和保留天数
可以为自动备份配置以下两个属性:
- 保留天数 - 保留备份文件的天数。 使用介于 1 和 35 之间的数字。 如果备份保留日期设置为 0,则会禁用自动备份,且不会进行备份,即使保留备份策略也是如此。
- 备份计划 - 应执行完整备份、差异备份和事务日志备份的计划。 取决于备份类型:
- 完整备份:每日或每周
- 差异备份:每 12 小时或每 24 小时
- 事务日志备份:每 5 分钟递增。
还可以按默认计划运行备份:
- 保持期:7 天
- 完整备份:每 7 天运行一次
- 差异备份:每 24 小时运行一次
- 事务日志备份:每 5 分钟
备份计划级别
可以在以下级别计划备份:
- 实例级别
- 数据库级别(扩展版本 1.1.2594.118 或更高版本中提供)
如果同时设置了数据库级别和实例级别备份计划,数据库级别计划会优先于实例级别备份计划。 如果删除数据库级别备份计划,则会应用实例级别备份计划。
分配权限
适用于已启用 Arc 的 SQL Server 的 Azure 扩展中的备份服务使用 [NT AUTHORITY\SYSTEM] 帐户执行备份。 如果以最低权限运行 Arc 启用的 SQL Server,则本地 Windows 帐户 ([NT Service\SQLServerExtension]) 执行备份。
注意
具有扩展(从 2024 年 11 月 版本或更高版本开始)的现有服务器将自动应用最低特权配置。 此应用将逐渐实现。
要防止自动应用最低特权,请阻止将扩展升级到 2024 年 11 月版本。
如果对 SQL Server 版本 1.1.2504.99 或更高版本使用 Azure 扩展,则会自动向 [NT AUTHORITY\SYSTEM] 授予必要的权限。 不需要手动分配权限。
仅对于早期扩展,请按照以下步骤将权限分配给 [NT AUTHORITY\SYSTEM] 帐户。
注意
此要求适用于预览版。
将
[NT AUTHORITY\SYSTEM]
帐户添加到登录,并在服务器级别使其成为 dbcreator 服务器角色的成员。 运行以下 Transact-SQL 以添加此帐户:USE master; GO CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE = [master]; GO ALTER SERVER ROLE [dbcreator] ADD MEMBER [NT AUTHORITY\SYSTEM]; GO
将
[NT AUTHORITY\SYSTEM]
帐户添加到用户,并使其成为master
、model
、msdb
和每个用户数据库中的 db_backupoperator 角色的成员。例如:
CREATE USER [NT AUTHORITY\SYSTEM] FOR LOGIN [NT AUTHORITY\SYSTEM]; GO ALTER ROLE [db_backupoperator] ADD MEMBER [NT AUTHORITY\SYSTEM]; GO
为每个用户和系统数据库运行上述代码(除
tempdb
以外)。
配置自动执行的备份
默认情况下,自动备份处于禁用状态。
分配权限后,可以计划自动备份。 配置自动备份后,Arc SQL 扩展启用备份到默认备份位置。
备份是本机 SQL Server 备份,这意味着 msdb 数据库中的备份相关表中会包含所有备份历史记录。
实例级别
若要在 Azure 门户中启用自动备份,请执行以下操作:
- 禁用任何现有外部备份例程。
- 浏览到要为其启用自动备份的 SQL Server。
- 选择“备份”。
- 选择“配置策略”。
- 在“配置策略”:
- 设置备份保留天数的值 - 介于 1 到 35 之间。
- 设置完整备份、差异备份和事务日志备份的计划。
- 选择“应用”以启用此配置。
设置保留期和频率以满足业务需求。 保留策略应该大于完整备份频率。 作为一项安全措施,自动备份过程始终保留至少一个完整备份频率和保留天数的备份集。
数据库级别
要在门户中配置单个自定义数据库级别备份,请执行以下操作:
- 选择实例
- 选择数据库
- 在左侧的“数据管理”下
- 选择“备份(预览版)- 配置数据库备份策略(预览版)”
- 选择“配置策略”。
- 在“配置策略”:
- 设置备份保留天数的值 - 介于 1 到 35 之间。
- 设置完整备份、差异备份和事务日志备份的计划。
- 选择“应用”以启用此配置。
设置保留期和频率以满足业务需求。 保留策略应该大于完整备份频率。 作为一项安全措施,自动备份过程始终保留至少一个完整备份频率和保留天数的备份集。
禁用自动备份
如果备份保留日期设置为 0,则会禁用自动备份,且不会进行备份,即使保留备份策略也是如此。 将备份保留期设置为非零值会再次启用策略。
此设置同时适用于数据库和实例级别备份。 如果禁用数据库级别备份计划,则即使计划了实例级别备份,也不会为数据库创建任何备份。
删除自动备份
在单个数据库级别备份计划页的门户,选择“将备份策略还原到实例级别”即可删除数据库级别备份策略。
可通过 CLI 删除实例级别备份计划。 删除后,不会在实例级别或数据库级别进行备份。 必须配置新的备份计划以再次执行备份。
删除实例级别策略
az sql server-arc backups-policy delete --name <arc-server-name> --resource-group <resourcegroup>
示例:
az sql server-arc backups-policy delete --name MyArcServer_SQLServerPROD --resource-group MyResourceGroup
删除数据库级别策略
az sql db-arc backups-policy delete --name <sql-database-name> --server <arc-server-name> --resource-group <resourcegroup>
示例:
az sql db-arc backups-policy delete --name MyDatabaseName --server MyArcServer_SQLServerPROD --resource-group MyResourceGroup
查看当前备份策略
要查看 SQL Server 的当前备份策略,请运行以下命令:
az sql server-arc backups-policy show --name <arc-server-name> --resource-group <resourcegroup>
示例:
az sql server-arc backups-policy show --name MyArcServer_SQLServerPROD --resource-group MyResourceGroup
输出:
{
"differentialBackupHours": 24,
"fullBackupDays": 7,
"instanceName": "MSSQLSERVER01",
"retentionPeriodDays": 16,
"transactionLogBackupMinutes": 5
}
备份系统数据库
在 Azure Arc 启用的 SQL Server 的实例上启用内置自动备份后,系统数据库也会备份到默认备份位置。 系统数据库仅执行完整备份。
注意事项
备份文件将存储在 SQL Server 实例级别配置的默认备份位置。
要在 SQL Server 实例(SQL Server 2019 [15.x] 及更高版本)上查找默认备份位置,请运行:
SELECT SERVERPROPERTY('InstanceDefaultBackupPath');
对于低于 2019 的 SQL Server 版本,默认备份路径存储在注册表设置中。 使用扩展存储过程
xp_instance_regwrite
或从 SQL Server Management Studio (SSMS) 配置此设置。 使用 SSMS:- 从 SSMS 连接到已启用 Arc 的 SQL Server。
- 转到“服务器属性”>“数据库设置”>“数据库默认位置”。
备份策略在实例级别配置,并应用于实例上的所有数据库。
如果同时设置了数据库级别和实例级别备份计划,数据库级别计划会优先于实例级别备份计划。 删除数据库级别备份计划会还原到实例级别备份计划(如果有)。
--name
的值为 Azure Arc 启用的 SQL Server 的名称,通常采用[Servername_SQLservername]
格式。--retention-days
的值可以为 0-35。--retention-days
的值为0
表示不对实例或数据库执行自动备份。如果同一主机上有多个安装了适用于 SQL Server 的 Azure 扩展的 SQL Server 实例,则需要为每个实例配置自动备份。
如果在配置
--backups-policy
后更改--retention-days
,则任何更改都在以后生效,并且不会追溯应用。
限制
- 当前不可自动备份到 URL。
- 用户数据库需要处于完整恢复模式才能执行备份。 未处于完整恢复模式的数据库不会自动备份。
- 目前不支持自动备份“始终可用”故障转移群集 (FCI)。
- 托管可用性组 (AG) 副本的任何实例都不支持自动备份。
- 自动备份仅适用于具有软件保障、SQL 订阅或即用即付的许可证。 有关详细信息,请参阅功能可用性取决于许可证类型。