Mengonfigurasi pencadangan pada replika sekunder dari grup ketersediaan Always On

Berlaku untuk:SQL Server

Topik ini menjelaskan cara mengonfigurasi cadangan pada replika sekunder untuk grup ketersediaan AlwaysOn dengan menggunakan SQL Server Management Studio, Transact-SQL, atau PowerShell di SQL Server.

Catatan

Untuk pengenalan pencadangan pada replika sekunder, lihat Sekunder Aktif: Pencadangan pada Replika Sekunder (Grup Ketersediaan AlwaysOn).

Prasyarat

Anda harus terhubung ke instans server yang menghosting replika utama di SQL Server Management Directory. Replika sekunder harus sehat, yang mencakup terhubung ke replika utama saat ini dan dalam peran sekunder.

Catatan

Replika sekunder tidak perlu dibaca untuk membongkar cadangan ke dalamnya. Cadangan masih akan berhasil pada replika sekunder meskipun Readable Secondary diatur ke no, dengan pengecualian cadangan terkelola.

Izin

Tugas Izin
Untuk mengonfigurasi cadangan pada replika sekunder saat membuat grup ketersediaan Memerlukan keanggotaan dalam peran server tetap sysadmin dan izin BUAT server GRUP KETERSEDIAAN, UBAH izin GRUP KETERSEDIAAN APA PUN, atau izin SERVER KONTROL.
Untuk mengubah grup ketersediaan atau replika ketersediaan Memerlukan izin UBAH GRUP KETERSEDIAAN pada grup ketersediaan, izin GRUP KETERSEDIAAN KONTROL, izin UBAH GRUP KETERSEDIAAN APA PUN, atau izin SERVER KONTROL.

Menggunakan SQL Server Management Studio

Untuk mengonfigurasi pencadangan pada replika sekunder

  1. Di Object Explorer, sambungkan ke instans server yang menghosting replika utama, dan klik nama server untuk memperluas pohon server.

  2. Perluas node Ketersediaan Tinggi AlwaysOn dan node Grup Ketersediaan.

  3. Klik grup ketersediaan yang preferensi cadangannya ingin Anda konfigurasi, dan pilih perintah Properti .

  4. Dalam kotak dialog Properti Grup Ketersediaan, pilih halaman Preferensi Cadangan.

  5. Pada panel Di mana pencadangan harus terjadi? , pilih preferensi pencadangan otomatis untuk grup ketersediaan, salah satu dari:

    Pilih Sekunder
    Menentukan bahwa cadangan harus terjadi pada replika sekunder kecuali ketika replika utama adalah satu-satunya replika online. Dalam hal ini, pencadangan harus terjadi pada replika utama. Ini adalah opsi default.

    Hanya sekunder
    Menentukan bahwa pencadangan tidak boleh dilakukan pada replika utama. Jika replika utama adalah satu-satunya replika online, pencadangan tidak boleh terjadi.

    Primer
    Menentukan bahwa cadangan harus selalu terjadi pada replika utama. Opsi ini berguna jika Anda memerlukan fitur cadangan, seperti membuat cadangan diferensial, yang tidak didukung saat pencadangan dijalankan pada replika sekunder.

    Penting

    Jika Anda berencana menggunakan pengiriman log untuk menyiapkan database sekunder apa pun untuk grup ketersediaan, atur preferensi pencadangan otomatis ke Primer hingga semua database sekunder telah disiapkan dan bergabung ke grup ketersediaan.

    Replika apa pun
    Menentukan bahwa Anda lebih suka pekerjaan cadangan mengabaikan peran replika ketersediaan saat memilih replika untuk melakukan pencadangan. Catatan pekerjaan pencadangan mungkin mengevaluasi faktor lain seperti prioritas cadangan dari setiap replika ketersediaan dalam kombinasi dengan status operasional dan status terhubung.

    Penting

    Tidak ada penegakan pengaturan preferensi pencadangan otomatis. Interpretasi preferensi ini tergantung pada logika, jika ada, yang Anda skrip ke dalam pekerjaan cadangan untuk database dalam grup ketersediaan tertentu. Pengaturan preferensi pencadangan otomatis tidak berdampak pada pencadangan ad hoc. Untuk informasi selengkapnya, lihat Tindak Lanjut: Setelah Mengonfigurasi Pencadangan pada Replika Sekunder nanti dalam topik ini.

  6. Gunakan kisi prioritas cadangan Replika untuk mengubah prioritas cadangan replika ketersediaan. Kisi ini menampilkan prioritas cadangan saat ini dari setiap instans server yang menghosting replika untuk grup ketersediaan. Kolom kisi adalah sebagai berikut:

    Instans Server
    Nama instans SQL Server yang menghosting replika ketersediaan.

    Prioritas Pencadangan (Terendah=1, Tertinggi=100)
    Menentukan prioritas Anda untuk melakukan pencadangan pada replika ini relatif terhadap replika lain dalam grup ketersediaan yang sama. Nilainya adalah bilangan bulat dalam rentang 0,.100. 1 menunjukkan prioritas terendah, dan 100 menunjukkan prioritas tertinggi. Jika Prioritas Cadangan = 1, replika ketersediaan akan dipilih untuk melakukan pencadangan hanya jika tidak ada replika ketersediaan prioritas yang lebih tinggi yang saat ini tersedia.

    Mengecualikan Replika
    Pilih jika Anda tidak pernah ingin replika ketersediaan ini dipilih untuk melakukan pencadangan. Ini berguna, misalnya, untuk replika ketersediaan jarak jauh tempat Anda tidak pernah ingin pencadangan gagal.

  7. Untuk menerapkan perubahan Anda, klik OK.

Cara alternatif untuk mengakses halaman Preferensi Cadangan

Menggunakan T-SQL

Untuk mengonfigurasi pencadangan pada replika sekunder

  1. Koneksi ke instans server yang menghosting replika utama.

  2. Untuk grup ketersediaan baru, gunakan pernyataan CREATE AVAILABILITY GROUP (Transact-SQL ). Jika Anda memodifikasi grup ketersediaan yang ada, gunakan pernyataan ALTER AVAILABILITY GROUP (Transact-SQL ).

Menggunakan PowerShell

Untuk mengonfigurasi pencadangan pada replika sekunder

  1. Atur default (cd) ke instans server yang menghosting replika utama.

  2. Secara opsional, konfigurasikan prioritas cadangan setiap replika ketersediaan yang Anda tambahkan atau ubah. Prioritas ini digunakan oleh instans server yang menghosting replika utama untuk memutuskan replika mana yang harus melayani permintaan pencadangan otomatis pada database dalam grup ketersediaan (replika dengan prioritas tertinggi dipilih). Prioritas ini dapat berupa angka apa pun antara 0 dan 100, inklusif. Prioritas 0 menunjukkan bahwa replika tidak boleh dianggap sebagai kandidat untuk melayani permintaan cadangan. Pengaturan defaultnya adalah 50.

    Saat menambahkan replika ketersediaan ke grup ketersediaan, gunakan cmdlet New-SqlAvailabilityReplica . Saat memodifikasi replika ketersediaan yang ada, gunakan cmdlet Set-SqlAvailabilityReplica . Dalam kedua kasus, tentukan parameter BackupPriorityn , di mana n adalah nilai dari 0 hingga 100.

    Misalnya, perintah berikut mengatur prioritas cadangan replika MyReplica ketersediaan menjadi 60.

    Set-SqlAvailabilityReplica -BackupPriority 60 `  
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    
  3. Secara opsional, konfigurasikan preferensi pencadangan otomatis untuk grup ketersediaan yang Anda buat atau ubah. Preferensi ini menunjukkan bagaimana pekerjaan pencadangan harus mengevaluasi replika utama saat memilih tempat untuk melakukan pencadangan. Pengaturan defaultnya adalah lebih memilih replika sekunder.

    Saat membuat grup ketersediaan, gunakan cmdlet New-SqlAvailabilityGroup . Saat memodifikasi grup ketersediaan yang ada, gunakan cmdlet Set-SqlAvailabilityGroup . Dalam kedua kasus, tentukan parameter AutomatedBackupPreference .

    Mana

    Primer
    Menentukan bahwa cadangan harus selalu terjadi pada replika utama. Opsi ini berguna jika Anda memerlukan fitur cadangan, seperti membuat cadangan diferensial, yang tidak didukung saat pencadangan dijalankan pada replika sekunder.

    Penting

    Jika Anda berencana menggunakan pengiriman log untuk menyiapkan database sekunder apa pun untuk grup ketersediaan, atur preferensi pencadangan otomatis ke Primer hingga semua database sekunder telah disiapkan dan bergabung ke grup ketersediaan.

    SecondaryOnly
    Menentukan bahwa pencadangan tidak boleh dilakukan pada replika utama. Jika replika utama adalah satu-satunya replika online, pencadangan tidak boleh terjadi.

    Sekunder
    Menentukan bahwa cadangan harus terjadi pada replika sekunder kecuali ketika replika utama adalah satu-satunya replika online. Dalam hal ini, pencadangan harus terjadi pada replika utama. Ini adalah perilaku default.

    Tidak
    Menentukan bahwa Anda lebih suka pekerjaan cadangan mengabaikan peran replika ketersediaan saat memilih replika untuk melakukan pencadangan. Catatan pekerjaan pencadangan mungkin mengevaluasi faktor lain seperti prioritas cadangan dari setiap replika ketersediaan dalam kombinasi dengan status operasional dan status terhubung.

    Penting

    Tidak ada penegakan AutomatedBackupPreference. Interpretasi preferensi ini tergantung pada logika, jika ada, yang Anda skrip ke dalam pekerjaan cadangan untuk database dalam grup ketersediaan tertentu. Pengaturan preferensi pencadangan otomatis tidak berdampak pada pencadangan ad hoc. Untuk informasi selengkapnya, lihat Tindak Lanjut: Setelah Mengonfigurasi Pencadangan pada Replika Sekunder nanti dalam topik ini.

    Misalnya, perintah berikut mengatur properti AutomatedBackupPreference pada grup MyAg ketersediaan ke SecondaryOnly. Pencadangan otomatis database dalam grup ketersediaan ini tidak akan pernah terjadi pada replika utama, tetapi akan dialihkan ke replika sekunder dengan pengaturan prioritas cadangan tertinggi.

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

Catatan

Untuk melihat sintaks cmdlet, gunakan cmdlet Get-Help di lingkungan PowerShell SQL Server. Untuk informasi selengkapnya, lihat Mendapatkan Bantuan SQL Server PowerShell.

Untuk menyiapkan dan menggunakan penyedia PowerShell SQL Server

Tindak Lanjut: Setelah Mengonfigurasi Pencadangan pada Replika Sekunder

Untuk memperhitungkan preferensi pencadangan otomatis untuk grup ketersediaan tertentu, pada setiap instans server yang menghosting replika ketersediaan yang prioritas cadangannya lebih besar dari nol (>0), Anda perlu membuat skrip pekerjaan pencadangan untuk database dalam grup ketersediaan. Untuk menentukan apakah replika saat ini adalah replika cadangan pilihan, gunakan fungsi sys.fn_hadr_backup_is_preferred_replica dalam skrip cadangan Anda. Jika replika ketersediaan yang dihosting oleh instans server saat ini adalah replika pilihan untuk cadangan, fungsi ini mengembalikan 1. Jika tidak, fungsi mengembalikan 0. Dengan menjalankan skrip sederhana pada setiap replika ketersediaan yang mengkueri fungsi ini, Anda dapat menentukan replika mana yang harus menjalankan pekerjaan pencadangan tertentu. Misalnya, cuplikan khas skrip pekerjaan cadangan akan terlihat seperti:

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;  

Membuat skrip pekerjaan pencadangan dengan logika ini memungkinkan Anda menjadwalkan pekerjaan untuk berjalan pada setiap replika ketersediaan pada jadwal yang sama. Masing-masing pekerjaan ini melihat data yang sama untuk menentukan pekerjaan mana yang harus dijalankan, sehingga hanya salah satu pekerjaan terjadwal yang benar-benar berlanjut ke tahap pencadangan. Jika terjadi failover, tidak ada skrip atau pekerjaan yang perlu dimodifikasi. Selain itu, jika Anda mengonfigurasi ulang grup ketersediaan untuk menambahkan replika ketersediaan, mengelola pekerjaan pencadangan hanya memerlukan penyalinan atau penjadwalan pekerjaan pencadangan. Jika Anda menghapus replika ketersediaan, cukup hapus pekerjaan cadangan dari instans server yang menghosting replika tersebut.

Tip

Jika Anda menggunakan Wizard Rencana Pemeliharaan untuk membuat pekerjaan pencadangan tertentu, pekerjaan akan secara otomatis menyertakan logika pembuatan skrip yang memanggil dan memeriksa fungsi sys.fn_hadr_backup_is_preferred_replica . Namun, pekerjaan pencadangan tidak akan mengembalikan "Ini bukan replika yang disukai..." Pesan. Pastikan untuk membuat pekerjaan untuk setiap database ketersediaan pada setiap instans server yang menghosting replika ketersediaan untuk grup ketersediaan.

Untuk mendapatkan informasi tentang preferensi pencadangan Pengaturan

Berikut ini berguna untuk mendapatkan informasi yang relevan untuk pencadangan di sekunder.

Tampilan Informasi Kolom yang Relevan
sys.fn_hadr_backup_is_preferred_replica Apakah replika saat ini adalah replika cadangan yang disukai? Tidak berlaku.
sys.availability_groups Preferensi pencadangan otomatis automated_backup_preference

automated_backup_preference_desc
sys.availability_replicas Prioritas pencadangan replika ketersediaan tertentu backup_priority
sys.dm_hadr_availability_replica_states Apakah replika lokal ke instans server?

Peran saat ini

Status operasional

status Koneksi

Kesehatan sinkronisasi replika ketersediaan
is_local

peran, role_desc

operational_state, operational_state_desc

connected_state, connected_state_desc

synchronization_health, synchronization_health_desc

Konten Terkait

Lihat Juga

Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Sekunder Aktif: Pencadangan pada Replika Sekunder (Grup Ketersediaan AlwaysOn)