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
Di Object Explorer, sambungkan ke instans server yang menghosting replika utama, dan klik nama server untuk memperluas pohon server.
Perluas node Ketersediaan Tinggi AlwaysOn dan node Grup Ketersediaan.
Klik grup ketersediaan yang preferensi cadangannya ingin Anda konfigurasi, dan pilih perintah Properti .
Dalam kotak dialog Properti Grup Ketersediaan, pilih halaman Preferensi Cadangan.
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.
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.Untuk menerapkan perubahan Anda, klik OK.
Cara alternatif untuk mengakses halaman Preferensi Cadangan
Gunakan Kotak Dialog Grup Ketersediaan Baru (SQL Server Management Studio)
Gunakan Wizard Tambahkan Replika ke Grup Ketersediaan (SQL Server Management Studio)
Gunakan Kotak Dialog Grup Ketersediaan Baru (SQL Server Management Studio)
Menggunakan T-SQL
Untuk mengonfigurasi pencadangan pada replika sekunder
Sambungkan ke instans server yang menghosting replika utama.
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
Atur default (cd) ke instans server yang menghosting replika utama.
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
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 pengaturan preferensi cadangan
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 tersambung 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
Panduan Solusi AlwaysOn Microsoft SQL Server untuk Ketersediaan Tinggi dan Pemulihan Bencana
Blog SQL Server Always On Team: Blog resmi SQL Server Always On Team
Lihat Juga
Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Sekunder Aktif: Pencadangan pada Replika Sekunder (Grup Ketersediaan AlwaysOn)