Always On kullanılabilirlik grubunun ikincil çoğaltmalarında yedeklemeleri yapılandırın

Şunlar için geçerlidir: SQL Server

Bu konuda, SQL Server'de SQL Server Management Studio, Transact-SQL veya PowerShell kullanarak AlwaysOn kullanılabilirlik grubu için ikincil çoğaltmalarda yedeklemenin nasıl yapılandırıldığı açıklanmaktadır.

Prerequisites

SSMS'de, birincil çoğaltmayı barındıran sunucu örneğine bağlı olmanız gerekir. İkincil kopya sağlıklı durumda olmalıdır; buna, mevcut birincil kopyaya bağlı olması ve ikincil rolde bulunması da dahildir.

Note

Yedekleme işlerini ona devretmek için ikincil çoğaltma kopyasının okunabilir olması gerekmez. Readable Secondary dışında, no olarak ayarlanmış olsa bile yedeklemeler ikincil replikada başarılı olmaya devam eder.

İzinler

Görev İzinler
Kullanılabilirlik grubu oluştururken ikincil çoğaltmalarda yedeklemeyi yapılandırmak için Sysadmin sabit sunucu rolünde üyelik ve CREATE AVAILABILITY GROUP sunucu izni, ALTER ANY AVAILABILITY GROUP izni veya CONTROL SERVER izni gerektirir.
Kullanılabilirlik grubunu veya kullanılabilirlik kopyasını değiştirmek için Kullanılabilirlik grubu üzerinde ALTER AVAILABILITY GROUP izni, CONTROL AVAILABILITY GROUP izni, ALTER ANY AVAILABILITY GROUP izni veya CONTROL SERVER izni gerektirir.

SQL Server Management Studio'yu kullanma

İkincil çoğaltmalarda yedeklemeyi yapılandırmak için

  1. Nesne Gezgini'da, birincil kopyayı barındıran sunucu örneğine bağlanın ve sunucu ağacını genişletmek için sunucu adına tıklayın.

  2. Always On Yüksek Kullanılabilirlik düğümünü ve Kullanılabilirlik Grupları düğümünü genişletin.

  3. Yedekleme tercihlerini yapılandırmak istediğiniz kullanılabilirlik grubuna tıklayın ve Özellikler komutunu seçin.

  4. Kullanılabilirlik Grubu Özellikleri iletişim kutusunda Yedekleme Tercihleri sayfasını seçin.

  5. Yedeklemeler nerede gerçekleşmelidir? panelinde, kullanılabilirlik grubu için otomatik yedekleme tercihini seçin, bunlardan birini seçin:

    İkincili Tercih Et
    Birincil çoğaltmanın çevrimiçi tek çoğaltma olması dışında yedeklerin ikincil çoğaltmada gerçekleşmesi gerektiğini belirtir. Bu durumda, yedekleme birincil çoğaltmada gerçekleşmelidir. Bu varsayılan seçenektir.

    Yalnızca ikincil
    Yedeklemelerin birincil çoğaltma üzerinde hiçbir zaman gerçekleştirilmemesi gerektiğini belirtir. Birincil replika çevrimiçi olan tek replika ise, yedekleme yapılmamalıdır.

    Birincil
    Yedeklemelerin her zaman birincil çoğaltmada gerçekleşmesi gerektiğini belirtir. Bu seçenek, yedekleme ikincil bir çoğaltma üzerinde çalıştırıldığında desteklenmeyen, örneğin diferansiyel yedeklemeler oluşturma gibi yedekleme özelliklerine ihtiyacınız varsa kullanışlıdır.

    Important

    İkincil veritabanlarını bir kullanılabilirlik grubuna hazırlamak için günlük gönderimini kullanmayı planlıyorsanız, tüm ikincil veritabanları hazırlanıp kullanılabilirlik grubuna katılana kadar otomatik yedekleme tercihini Birincil olarak ayarlayın.

    Herhangi Bir Kopya
    Yedekleme işlerinin, yedeklemeleri gerçekleştirecek replikayı seçerken kullanılabilirlik replikalarının rolünü yoksaymasını tercih ettiğinizi belirtir. Yedekleme işlerinin, her kullanılabilirlik replikasının yedekleme önceliği gibi diğer etkenleri çalışma durumu ve bağlantı durumuyla birlikte değerlendirebileceğini unutmayın.

    Important

    Otomatik yedekleme tercihi ayarı zorunlu değildir. Bu tercihin nasıl yorumlanacağı, varsa belirli bir kullanılabilirlik grubundaki veritabanları için yedekleme işlerine betikle eklediğiniz mantığa bağlıdır. Otomatik yedekleme tercihi ayarının geçici yedeklemeler üzerinde hiçbir etkisi yoktur. Daha fazla bilgi için bu konunun devamında yer alan İzleme: İkincil Çoğaltmalarda Yedeklemeyi Yapılandırdıktan Sonra bölümüne bakın.

  6. Kullanılabilirlik çoğaltmalarının yedekleme önceliğini değiştirmek için Çoğaltma yedekleme öncelikleri tablosunu kullanın. Bu tablo, kullanılabilirlik grubu için bir çoğaltmayı barındıran her sunucu örneğinin geçerli yedekleme önceliğini görüntüler. Izgara sütunları aşağıdaki gibidir:

    Sunucu Örneği
    Kullanılabilirlik çoğaltmasını barındıran SQL Server örneğinin adı.

    Yedekleme Önceliği (En Düşük=1, En Yüksek=100)
    Aynı kullanılabilirlik grubundaki diğer çoğaltmalara göre bu çoğaltmada yedekleme gerçekleştirme önceliğinizi belirtir. Değer, 0,.100 aralığındaki bir tamsayıdır. 1 en düşük önceliği, 100 ise en yüksek önceliği gösterir. Yedekleme Önceliği = 1 ise, kullanılabilirlik çoğaltması yalnızca o anda daha yüksek öncelikli kullanılabilirlik çoğaltmaları kullanılamıyorsa yedekleme işlemini gerçekleştirmek için seçilir.

    Kopyayı Dışla
    Bu kullanılabilirlik çoğaltmasının yedekleme işlemleri için hiçbir zaman seçilmesini istemiyorsanız, seçin. Bu, örneğin, yedeklemelerin yük devretmesini asla istemediğiniz bir uzaktan kullanılabilirlik çoğaltması için kullanışlıdır.

  7. Değişikliklerinizi işlemek için Tamam'a tıklayın.

Yedekleme Tercihleri sayfasına erişmenin alternatif yolları

Transact-SQL Kullanımı

İkincil çoğaltmalarda yedeklemeyi yapılandırmak için

  1. Birincil replikayı çalıştıran sunucu örneğine bağlanın.

  2. Yeni bir kullanılabilirlik grubu için (Transact-SQL) deyiminiCREATE AVAILABILITY GROUP kullanın. Mevcut bir kullanılabilirlik grubunu değiştiriyorsanız (Transact-SQL) deyiminiALTER AVAILABILITY GROUP kullanın.

PowerShell’i kullanma

İkincil çoğaltmalarda yedeklemeyi yapılandırmak için

  1. Varsayılan (cd) değerini birincil çoğaltmayı barındıran sunucu örneğine ayarlayın.

  2. İsteğe bağlı olarak, eklediğiniz veya değiştirdiğiniz her kullanılabilirlik çoğaltmasının yedekleme önceliğini yapılandırın. Bu öncelik, birincil çoğaltmayı barındıran sunucu örneği tarafından kullanılabilirlik grubundaki bir veritabanında hangi çoğaltmanın otomatik yedekleme isteğine hizmet vermesi gerektiğine karar vermek için kullanılır (en yüksek önceliğe sahip çoğaltma seçilir). Bu öncelik, 0 ile 100 arasında (dahil) herhangi bir sayı olabilir. 0 öncelik değeri, çoğaltının yedekleme isteklerini karşılama adayı olarak değerlendirilmemesi gerektiğini belirtir. Varsayılan ayar 50'dir.

    Kullanılabilirlik grubuna kullanılabilirlik çoğaltması eklerken New-SqlAvailabilityReplica cmdlet'ini kullanın. Mevcut kullanılabilirlik çoğaltmasını değiştirirken Set-SqlAvailabilityReplica cmdlet'ini kullanın. Her iki durumda da BackupPriorityn parametresini belirtin; burada n , 0 ile 100 arasında bir değerdir.

    Örneğin, aşağıdaki komut kullanılabilirlik çoğaltmasının MyReplica yedekleme önceliğini 60 olarak ayarlar.

    Set-SqlAvailabilityReplica -BackupPriority 60 `  
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    
  3. İsteğe bağlı olarak, oluşturduğunuz veya değiştirdiğiniz kullanılabilirlik grubu için otomatik yedekleme tercihini yapılandırın. Bu tercih, yedeklemelerin nerede gerçekleştirildiğini seçerken yedekleme işinin birincil çoğaltmayı nasıl değerlendirmesi gerektiğini gösterir. Varsayılan ayar ikincil çoğaltmaları tercih etmektir.

    Kullanılabilirlik grubu oluştururken New-SqlAvailabilityGroup cmdlet'ini kullanın. Mevcut bir kullanılabilirlik grubunu değiştirirken Set-SqlAvailabilityGroup cmdlet'ini kullanın. Her iki durumda da AutomatedBackupPreference parametresini belirtin.

    nerede

    Birincil
    Yedeklemelerin her zaman birincil çoğaltmada gerçekleşmesi gerektiğini belirtir. Bu seçenek, yedekleme ikincil bir çoğaltma üzerinde çalıştırıldığında desteklenmeyen, örneğin diferansiyel yedeklemeler oluşturma gibi yedekleme özelliklerine ihtiyacınız varsa kullanışlıdır.

    Important

    İkincil veritabanlarını bir kullanılabilirlik grubuna hazırlamak için günlük gönderimini kullanmayı planlıyorsanız, tüm ikincil veritabanları hazırlanıp kullanılabilirlik grubuna katılana kadar otomatik yedekleme tercihini Birincil olarak ayarlayın.

    SecondaryOnly
    Yedeklemelerin birincil çoğaltma üzerinde hiçbir zaman gerçekleştirilmemesi gerektiğini belirtir. Birincil replika çevrimiçi olan tek replika ise, yedekleme yapılmamalıdır.

    İkincil
    Birincil çoğaltmanın çevrimiçi tek çoğaltma olması dışında yedeklerin ikincil çoğaltmada gerçekleşmesi gerektiğini belirtir. Bu durumda, yedekleme birincil çoğaltmada gerçekleşmelidir. Bu varsayılan davranıştır.

    Hiçbiri
    Yedekleme işlerinin, yedeklemeleri gerçekleştirecek replikayı seçerken kullanılabilirlik replikalarının rolünü yoksaymasını tercih ettiğinizi belirtir. Yedekleme işlerinin, her kullanılabilirlik replikasının yedekleme önceliği gibi diğer etkenleri çalışma durumu ve bağlantı durumuyla birlikte değerlendirebileceğini unutmayın.

    Important

    AutomatedBackupPreference uygulaması yoktur. Bu tercihin nasıl yorumlanacağı, varsa belirli bir kullanılabilirlik grubundaki veritabanları için yedekleme işlerine betikle eklediğiniz mantığa bağlıdır. Otomatik yedekleme tercihi ayarının geçici yedeklemeler üzerinde hiçbir etkisi yoktur. Daha fazla bilgi için bu konunun devamında yer alan İzleme: İkincil Çoğaltmalarda Yedeklemeyi Yapılandırdıktan Sonra bölümüne bakın.

    Örneğin, aşağıdaki komut kullanılabilirlik grubundaki AutomatedBackupPreference özelliğini MyAg ayarlar. Bu kullanılabilirlik grubundaki veritabanlarının otomatik yedeklemeleri hiçbir zaman birincil çoğaltmada gerçekleşmez, ancak en yüksek yedekleme önceliği ayarına sahip ikincil çoğaltmaya yönlendirilir.

    Set-SqlAvailabilityGroup `  
    -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg `  
    -AutomatedBackupPreference SecondaryOnly  
    

Note

Bir cmdlet'in söz dizimini görüntülemek için SQL Server PowerShell ortamındaki Get-Help cmdlet'ini kullanın. Daha fazla bilgi için bkz. SQL Server PowerShell Yardımı Al.

SQL Server PowerShell sağlayıcısını ayarlamak ve kullanmak için

İzleme: İkincil Çoğaltmalarda Yedeklemeyi Yapılandırdıktan Sonra

Belirli bir kullanılabilirlik grubu için otomatik yedekleme tercihini dikkate almak amacıyla, yedekleme önceliği sıfırdan (>0) büyük olan bir kullanılabilirlik çoğaltmasını barındıran her sunucu örneği üzerinde, kullanılabilirlik grubundaki veritabanları için yedekleme işleri adına betik oluşturmanız gerekir. Geçerli replikanın tercih edilen yedekleme replikası olup olmadığını belirlemek için, yedekleme betiğinizde sys.fn_hadr_backup_is_preferred_replica işlevini kullanın. Geçerli sunucu örneğinde barındırılan kullanılabilirlik çoğaltması, yedeklemeler için tercih edilen çoğaltmaysa bu işlev 1 döndürür. Aksi takdirde işlev 0 döndürür. Bu işlevi sorgulayan her kullanılabilirlik çoğaltması üzerinde basit bir betik çalıştırarak, belirli bir yedekleme işini çalıştırması gereken çoğaltmayı belirleyebilirsiniz. Örneğin, yedekleme işi betiğinin tipik bir kod parçacığı şöyle görünür:

IF (sys.fn_hadr_backup_is_preferred_replica(@DBNAME) != 1)  
BEGIN  
      Select 'This is not the preferred replica, exiting with success';  
      RETURN 0 -- This is a normal, expected condition, so the script returns success  
END  
BACKUP DATABASE @DBNAME TO DISK = '<path to backup file>'  
   WITH COPY_ONLY;  

Bir yedekleme işini bu mantığa göre betik hâline getirmek, işin her kullanılabilirlik replikasında aynı zamanlamayla çalışacak şekilde zamanlanmasını sağlar. 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. Yük devretme durumunda betiklerin ya da işlerin hiçbirinin değiştirilmesi gerekmez. Ayrıca, bir kullanılabilirlik kopyası eklemek için bir kullanılabilirlik grubunu yeniden yapılandırırsanız, yedekleme işini yönetmek için yalnızca yedekleme işini kopyalamanız veya zamanlamanız gerekir. Kullanılabilirlik çoğaltmasını kaldırırsanız, yedekleme işini bu çoğaltmayı barındıran sunucu örneğinden silmeniz yeterlidir.

Tip

Belirli bir yedekleme görevi oluşturmak için Bakım Planı Sihirbazı'nı kullanırsanız, bu görev otomatik olarak sys.fn_hadr_backup_is_preferred_replica işlevini çağıran ve denetleyen betik mantığını içerir. Ancak, yedekleme işi "Bu tercih edilen çoğaltma değil..." iletisini döndürmez. Kullanılabilirlik grubu için bir kullanılabilirlik çoğaltması barındıran her sunucu örneğinde, her kullanılabilirlik veritabanı için işi/işleri oluşturduğunuzdan emin olun.

Yedekleme tercih ayarları hakkında bilgi edinmek için

Aşağıdakiler, ikincil cihazlarda yedekleme için uygun bilgileri almak için kullanışlıdır.

View Bilgiler İlgili Sütunlar
sys.fn_hadr_backup_is_preferred_replica Mevcut çoğaltma tercih edilen yedek çoğaltma mı? Uygulanamaz.
sys.availability_groups Otomatik yedekleme tercihi automated_backup_preference

automated_backup_preference_desc
sys.availability_replicas Belirli bir kullanılabilirlik çoğaltmasının yedekleme önceliği backup_priority
sys.dm_hadr_availability_replica_states Kopya, sunucu örneğine yerel mi?

Geçerli rol

İşlem durumu

Bağlı durum

Kullanılabilirlik kopyasının eşitleme durumu
is_local

rol, role_desc

operational_state, operational_state_desc

connected_state, connected_state_desc

synchronization_health, synchronization_health_desc

İlgili İçerik

Ayrıca Bkz.

Always On Kullanılabilirlik Grupları (SQL Server) Genel Bakış
Aktif İkinciller: İkincil Replikalarda Yedekleme (Sürekli Açık Kullanılabilirlik Grupları)