Поделиться через


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 */

Примеры

А. Использование sys.fn_hadr_backup_is_preferred_replica

В следующем примере возвращаемое значение равно 1, если текущая база данных является предпочитаемой репликой для резервного копия.

SELECT sys.fn_hadr_backup_is_preferred_replica('TestDB');
GO