Dela via


sys.fn_hadr_backup_is_preferred_replica (Transact-SQL)

gäller för:SQL Server

Används för att avgöra om den aktuella repliken är den föredragna säkerhetskopieringsrepliken.

Transact-SQL syntaxkonventioner

Syntax

sys.fn_hadr_backup_is_preferred_replica ( 'dbname' )

Argumentpunkter

"dbname"

Namnet på databasen som ska säkerhetskopieras. dbname är typen sysname.

Retur

Returnerar datatypsbit: 1 om databasen på den aktuella instansen finns på önskad replik, annars 0.

För databaser som inte ingår i en tillgänglighetsgrupp returnerar 1den här funktionen alltid .

Om den angivna databasen inte finns returnerar funktionen ett annat värde baserat på versionen av SQL Server:

  • Från och med SQL Server 2019 CU20 och SQL Server 2022 CU2 returnerar 0funktionen .
  • I tidigare versioner returnerar 1funktionen .

Anmärkningar

Använd den här funktionen i ett säkerhetskopieringsskript för att avgöra om den aktuella databasen finns på den replik som föredras för säkerhetskopior. Du kan köra ett skript på varje tillgänglighetsreplik. Vart och ett av dessa jobb tittar på samma data för att avgöra vilket jobb som ska köras, så bara ett av de schemalagda jobben fortsätter faktiskt till säkerhetskopieringsfasen. Exempelkoden kan likna följande.

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

Exempel

A. Använda sys.fn_hadr_backup_is_preferred_replica

I följande exempel returneras 1 om den aktuella databasen är den föredragna säkerhetskopieringsrepliken.

SELECT sys.fn_hadr_backup_is_preferred_replica('TestDB');
GO