sys.fn_hadr_backup_is_preferred_replica (Transact-SQL)

适用范围:SQL Server

用于确定当前副本是否为首选备份副本。

Transact-SQL 语法约定

语法

sys.fn_hadr_backup_is_preferred_replica ( 'dbname' )

参数

'dbname'

要备份的数据库的名称。 dbname 为类型 sysname。

返回

返回数据类型位:1如果当前实例上的数据库位于首选副本上,则为 ;否则0返回数据类型位

对于不属于可用性组的数据库,此函数始终返回 1

注解

在备份脚本中使用此函数来确定当前数据库是否位于用于备份的首选副本上。 您可以在每个可用性副本上运行脚本。 其中每个作业都查看相同的数据,以确定应运行哪个作业,因此只有一个计划作业实际上会继续到备份阶段。 示例代码可与以下代码相似。

IF sys.fn_hadr_backup_is_preferred_replica(@dbname) <> 1
    BEGIN
-- If this is not the preferred replica, exit (probably without error).
        SELECT 'This is not the preferred replica, exiting with success';
    END
-- If this is the preferred replica, continue to do the backup.
/* actual backup command goes here */

示例

A. 使用sys.fn_hadr_backup_is_preferred_replica

如果当前数据库是首选备份副本,则下面的示例将返回 1。

SELECT sys.fn_hadr_backup_is_preferred_replica('TestDB');
GO