Partage via


sys.fn_hadr_backup_is_preferred_replica (Transact-SQL)

S'applique à :SQL Server

Utilisé pour déterminer si le réplica actuel est le réplica de sauvegarde par défaut.

Conventions de la syntaxe Transact-SQL

Syntaxe

sys.fn_hadr_backup_is_preferred_replica ( 'dbname' )

Arguments

'dbname'

Nom de la base de données à sauvegarder. dbname est de type sysname .

Retours

Retourne le bit de type 0

Pour les bases de données qui ne font pas partie d’un groupe de disponibilité, cette fonction retourne 1toujours .

Si la base de données spécifiée n’existe pas, la fonction retourne une valeur différente en fonction de la version de SQL Server :

  • À compter de SQL Server 2019 CU20 et SQL Server 2022 CU2, la fonction retourne 0.
  • Dans les versions antérieures, la fonction retourne 1.

Notes

Utilisez cette fonction dans un script de sauvegarde pour déterminer si la base de données active est sur le réplica préféré pour les sauvegardes. Vous pouvez exécuter un script sur chaque réplica de disponibilité. Chacun de ces travaux examine les mêmes données pour déterminer quel travail doit s’exécuter, de sorte qu’un seul des travaux planifiés passe réellement à l’étape de sauvegarde. L'exemple de code devrait ressembler à ce qui suit :

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

Exemples

R. Utiliser sys.fn_hadr_backup_is_preferred_replica

L'exemple suivant retourne 1 si la base de données active est le réplica de sauvegarde par défaut.

SELECT sys.fn_hadr_backup_is_preferred_replica('TestDB');
GO