Delen via


sys.fn_hadr_backup_is_preferred_replica (Transact-SQL)

van toepassing op:SQL Server-

Wordt gebruikt om te bepalen of de huidige replica de voorkeursback-upreplica is.

Transact-SQL syntaxis-conventies

Syntaxis

sys.fn_hadr_backup_is_preferred_replica ( 'dbname' )

Argumenten

'dbname'

De naam van de database waarvan een back-up moet worden gemaakt. dbname is type sysname .

Retouren

Retourneert bit van het gegevenstype: 1 als de database op het huidige exemplaar zich op de voorkeursreplica bevindt, anders 0.

Voor databases die geen deel uitmaken van een beschikbaarheidsgroep, retourneert 1deze functie altijd.

Als de opgegeven database niet bestaat, retourneert de functie een andere waarde op basis van de versie van SQL Server:

  • Vanaf SQL Server 2019 CU20 en SQL Server 2022 CU2 wordt de functie geretourneerd 0.
  • In eerdere versies retourneert 1de functie .

Opmerkingen

Gebruik deze functie in een back-upscript om te bepalen of de huidige database zich op de replica bevindt die de voorkeur heeft voor back-ups. U kunt een script uitvoeren op elke beschikbaarheidsreplica. Elk van deze taken bekijkt dezelfde gegevens om te bepalen welke taak moet worden uitgevoerd, zodat slechts één van de geplande taken daadwerkelijk naar de back-upfase gaat. Voorbeeldcode kan er ongeveer als volgt uitzien.

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

Voorbeelden

Eén. Sys.fn_hadr_backup_is_preferred_replica gebruiken

In het volgende voorbeeld wordt 1 geretourneerd als de huidige database de voorkeursback-upreplica is.

SELECT sys.fn_hadr_backup_is_preferred_replica('TestDB');
GO