适用于:SQL Server
Always On 可用性组活动辅助功能包括支持在次要副本上进行备份。 备份操作可能会给 I/O 和 CPU 带来很大的压力(使用备份压缩)。 将备份负荷转移到已同步或正在同步的辅助副本后,您可以使用承载第一层工作负荷的主副本的服务器实例上的资源。
注意
RESTORE 语句不允许在可用性组的主数据库或辅助数据库上执行。
辅助副本支持的备份类型
若要对辅助副本执行完整数据库备份,必须执行 仅复制备份,因为仅复制备份不会影响日志链或清除差异位图。 如下所示:
仅复制备份不会阻止其他副本上的事务日志截断。
仅复制备份在执行期间会阻止辅助副本上的日志截断。
如果主副本上的事务日志截断到 LSN,该 LSN 介于执行仅复制备份的辅助副本的事务日志的第一个和最后一个 LSN 之间,你可能会在辅助副本的日志中看到以下错误:
Error 9019: The virtual log file sequence 0x%08x at offset 0x%016I64x bytes in file '%ls' is active and cannot be overwritten with sequence 0x%08x for database '%ls'.虽然备份可能会成功,但在仅复制备份完成之前,该辅助副本的同步会失败;如果辅助副本设置为同步提交,主副本上的写入工作负载可能会被阻塞,直到日志可以在辅助副本上硬化。 备份完成后,日志将在次要副本上被截断,此时它应再次进行同步。 如果在次要副本上运行仅复制备份时遇到错误 9019,请改为在主副本上运行完整备份。
在次要副本上执行备份时,请考虑:
若要备份辅助数据库,辅助副本必须能够与主副本通信,并且必须是
SYNCHRONIZED或SYNCHRONIZING。不支持在次要副本上进行差异备份。
当前不支持并发备份,例如,在辅助副本上执行完整数据库备份的同时在主副本上执行事务日志备份。
BACKUP LOG仅支持常规日志备份(辅助副本上的日志备份不支持COPY_ONLY选项)。 无论日志备份是在任何副本(主副本或辅助副本)上执行的,也无论其可用性模式是同步提交还是异步提交,都能确保日志链的一致性。
在 分布式可用性组中,可以对与活动主副本相同的可用性组中的辅助副本或任何辅助可用性组的主副本执行备份。 无法对辅助可用性组中的辅助副本执行备份,因为辅助副本仅与其自己的可用性组中的主副本通信。 仅直接与全局主要副本通信的副本才能执行备份操作。
辅助副本上的完整和差异备份
适用于: SQL Server 2025 (17.x) 及更高版本。
从 SQL Server 2025(17.x)开始,除了现有的仅复制备份和事务日志备份外,还可以在任何次要副本上执行完整备份和差异备份。
配置备份作业运行的位置
在辅助副本上执行备份以减轻主生产服务器的备份工作负荷非常有好处。 但是,对辅助副本执行备份会显著增加用于确定应在何处运行备份作业的过程的复杂性。 要解决这个问题,请按如下所示配置备份作业运行的位置:
配置可用性组以便指定要对其执行备份的可用性副本。 有关详细信息,请参阅CREATE AVAILABILITY GROUP或ALTER AVAILABILITY GROUP中的
AUTOMATED_BACKUP_PREFERENCE和BACKUP_PRIORITY参数。为承载作为执行备份候选的可用性副本的每个服务器实例上的每个可用性数据库都创建编写了脚本的备份作业。 有关详细信息,请参阅配置 Always On 可用性组的辅助副本备份中的“跟进:配置辅助副本备份后”部分。