配置辅助副本备份之后
若要为某一给定可用性组考虑使用自动备份首选项,对于托管备份优先级大于零 (>0) 的可用性副本的每个服务器实例,你需要为该可用性组中的数据库的备份作业编写脚本。 若要确定当前副本是否为首选备份副本,请在备份脚本中使用 sys.fn_hadr_backup_is_preferred_replica 函数。 如果当前服务器实例承载的可用性副本是用于备份的首选副本,则此函数将返回 1。 否则,该函数返回 0。 通过对查询此函数的每个可用性副本运行简单的脚本,可以确定哪个副本应运行给定的备份作业。 例如,备份作业脚本的典型代码段如下所示:
IF (sys.fn_hadr_backup_is_preferred_replica(@DBNAME) != 1)
BEGIN
Select 'This is not the preferred replica, exiting with success';
RETURN 0 -- This is a normal, expected condition, so the script returns success
END
BACKUP DATABASE @DBNAME TO DISK = '<path to backup file>'
WITH COPY_ONLY;
通过使用此逻辑编写备份作业脚本,可以在同一个计划中安排对每个可用性副本运行的作业。 上述每个作业都应该查看相同数据以便确定哪一作业应该运行,因此,实际上只有一个计划作业将前进到备份阶段。 在发生故障转移时,无需修改任何脚本或作业。 此外,如果重新配置可用性组以便添加可用性副本,则管理备份作业只需复制或计划备份作业即可。 如果您删除可用性副本,只需从承载该副本的服务器实例上删除备份作业即可。