Sdílet prostřednictvím


sys.fn_hadr_backup_is_preferred_replica (Transact-SQL)

platí pro:SQL Server

Slouží k určení, jestli je aktuální replika upřednostňovanou replikou zálohování.

Transact-SQL konvence syntaxe

Syntaxe

sys.fn_hadr_backup_is_preferred_replica ( 'dbname' )

Argumenty

dbname

Název databáze, která se má zálohovat. dbname je typ sysname.

Návraty

Vrátí bit datového typu: 1 pokud je databáze v aktuální instanci na upřednostňované replice, jinak 0.

Pro databáze, které nejsou součástí skupiny dostupnosti, tato funkce vždy vrátí 1.

Pokud zadaná databáze neexistuje, vrátí funkce jinou hodnotu na základě verze SQL Serveru:

  • Počínaje SQL Serverem 2019 CU20 a SQL Serverem 2022 CU2 vrátí 0funkce .
  • V dřívějších verzích vrátí 1funkce .

Poznámky

Tuto funkci použijte ve skriptu zálohování k určení, jestli je aktuální databáze na replice, která je upřednostňovaná pro zálohy. Skript můžete spustit na každé replice dostupnosti. Každá z těchto úloh se podívá na stejná data a určí, která úloha se má spustit, takže do fáze zálohování ve skutečnosti pokračuje jenom jedna z naplánovaných úloh. Vzorový kód může být podobný následujícímu.

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

Příklady

A. Použití sys.fn_hadr_backup_is_preferred_replica

Následující příklad vrátí hodnotu 1, pokud je aktuální databáze upřednostňovanou replikou zálohování.

SELECT sys.fn_hadr_backup_is_preferred_replica('TestDB');
GO