Aracılığıyla paylaş


sys.fn_hadr_backup_is_preferred_replica (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Geçerli çoğaltmanın tercih edilen yedekleme çoğaltması olup olmadığını belirlemek için kullanılır.

Transact-SQL söz dizimi kuralları

Sözdizimi

sys.fn_hadr_backup_is_preferred_replica ( 'dbname' )

Tartışmalar

'dbname'

Yedeklenecek veritabanının adı. dbname , sysname türündedir.

İade

Bit veri türünü döndürür: 1 geçerli örnekteki veritabanı tercih edilen çoğaltmadaysa, aksi takdirde 0.

Kullanılabilirlik grubunun parçası olmayan veritabanları için bu işlev her zaman döndürür 1.

Belirtilen veritabanı yoksa işlev, SQL Server sürümüne göre farklı bir değer döndürür:

  • SQL Server 2019 CU20 ve SQL Server 2022 CU2'den başlayarak işlevi döndürür 0.
  • Önceki sürümlerde işlevi döndürür 1.

Açıklamalar

Geçerli veritabanının yedeklemeler için tercih edilen çoğaltmada olup olmadığını belirlemek için bu işlevi bir yedekleme betiğinde kullanın. Her kullanılabilirlik çoğaltması üzerinde bir betik çalıştırabilirsiniz. Bu işlerin her biri hangi işin çalıştırılması gerektiğini belirlemek için aynı verilere bakar, bu nedenle zamanlanan işlerden yalnızca biri yedekleme aşamasına devam eder. Örnek kod aşağıdakine benzer olabilir.

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

Örnekler

A. sys.fn_hadr_backup_is_preferred_replica kullanma

Aşağıdaki örnek, geçerli veritabanı tercih edilen yedekleme çoğaltmasıysa 1 döndürür.

SELECT sys.fn_hadr_backup_is_preferred_replica('TestDB');
GO