Bagikan melalui


Kebijakan Failover Fleksibel untuk Failover Otomatis Grup Ketersediaan (SQL Server)

Kebijakan failover yang fleksibel memberikan kontrol terperinci atas kondisi yang menyebabkan failover otomatis untuk grup ketersediaan. Dengan mengubah kondisi kegagalan yang memicu failover otomatis dan frekuensi pemeriksaan kesehatan, Anda dapat meningkatkan atau mengurangi kemungkinan failover otomatis untuk mendukung SLA Anda untuk ketersediaan tinggi.

Kebijakan failover fleksibel dari grup ketersediaan ditentukan oleh tingkat kondisi kegagalan dan ambang batas waktu pemeriksaan kesehatan. Saat mendeteksi bahwa grup ketersediaan telah melebihi tingkat kondisi kegagalannya atau ambang batas waktu pemeriksaan kesehatannya, DLL sumber daya grup ketersediaan merespons kembali ke kluster Windows Server Failover Clustering (WSFC). Kluster WSFC kemudian memulai failover otomatis ke replika sekunder.

Penting

Jika grup ketersediaan melebihi ambang kegagalan WSFC-nya, kluster WSFC tidak akan mencoba failover otomatis untuk grup ketersediaan. Selain itu, grup sumber daya WSFC dari grup ketersediaan tetap dalam keadaan gagal sampai administrator kluster secara manual membawa grup sumber daya yang gagal secara online atau administrator database melakukan failover manual dari grup ketersediaan. Ambang kegagalan WSFC didefinisikan sebagai jumlah maksimum kegagalan yang didukung untuk grup ketersediaan selama periode waktu tertentu. Periode waktu default adalah enam jam, dan nilai default untuk jumlah maksimum kegagalan selama periode ini adalah n-1, di mana n adalah jumlah simpul WSFC. Untuk mengubah nilai ambang kegagalan untuk grup ketersediaan tertentu, gunakan Konsol Manajer Failover WSFC.

Ambang Batas Waktu Health-Check

DLL sumber daya WSFC dari grup ketersediaan melakukan pemeriksaan kesehatan replika utama dengan memanggil prosedur tersimpan sp_server_diagnostics pada instans SQL Server yang menghosting replika utama. sp_server_diagnostics mengembalikan hasil pada interval yang sama dengan 1/3 dari ambang batas waktu pemeriksaan kesehatan untuk grup ketersediaan. Ambang batas waktu pemeriksaan kesehatan default adalah 30 detik, yang menyebabkan sp_server_diagnostics kembali pada interval 10 detik. Jika sp_server_diagnostics lambat atau tidak mengembalikan informasi, DLL sumber daya akan menunggu interval penuh ambang batas waktu pemeriksaan kesehatan sebelum menentukan bahwa replika utama tidak responsif. Jika replika utama tidak responsif, failover otomatis dimulai, jika saat ini didukung.

Penting

sp_server_diagnostics tidak melakukan pemeriksaan kesehatan di tingkat database.

Tingkat Kondisi Kegagalan

Apakah data diagnostik dan informasi kesehatan yang dikembalikan oleh sp_server_diagnostics menjamin failover otomatis tergantung pada tingkat kondisi kegagalan grup ketersediaan. Tingkat kondisi kegagalan menentukan kondisi kegagalan apa yang memicu failover otomatis. Ada lima tingkat kondisi kegagalan, yang berkisar dari yang paling tidak ketat (tingkat satu) hingga yang paling ketat (tingkat lima). Tingkat tertentu mencakup tingkat yang kurang ketat. Dengan demikian, tingkat yang paling ketat, lima, termasuk empat kondisi yang kurang ketat, dan sebagainya.

Penting

Database yang rusak dan database tersangka tidak terdeteksi oleh tingkat kondisi kegagalan apa pun. Oleh karena itu, database yang rusak atau dicurigai (baik karena kegagalan perangkat keras, kerusakan data, atau masalah lainnya) tidak pernah memicu failover otomatis.

Tabel berikut ini menjelaskan kondisi kegagalan yang sesuai dengan setiap tingkatan.

Tingkat Kondisi Kegagalan Nilai Transact-SQL Nilai PowerShell
Satu Di server tidak berfungsi. Ini adalah tingkat yang paling tidak ketat. Menentukan bahwa failover otomatis dimulai ketika salah satu hal berikut ini terjadi:

Layanan SQL Server tidak berfungsi.

Sewa grup ketersediaan untuk menyambungkan ke kluster WSFC kedaluwarsa karena tidak ada ACK yang diterima dari instans server. Untuk informasi selengkapnya, lihat Cara Kerjanya: SQL Server Batas Waktu Sewa AlwaysOn.
1 OnServerDown
Dua Pada server tidak responsif. Menentukan bahwa failover otomatis dimulai ketika salah satu hal berikut ini terjadi:

Instans SQL Server tidak tersambung ke kluster, dan ambang batas waktu pemeriksaan kesehatan yang ditentukan pengguna dari grup ketersediaan terlampaui.

Replika ketersediaan dalam status gagal.
2 OnServerUnresponsive
Tiga Pada kesalahan server penting. Menentukan bahwa failover otomatis dimulai pada kesalahan internal SQL Server kritis, seperti spinlock tanpa infanteri, pelanggaran akses tulis serius, atau terlalu banyak pembuangan. Ini adalah tingkat default. 3 OnCriticalServerError
Empat Pada kesalahan server sedang. Menentukan bahwa failover otomatis dimulai pada kesalahan internal SQL Server sedang, seperti kondisi kehabisan memori persisten di kumpulan sumber daya internal SQL Server. 4 OnModerateServerError
Lima Pada kondisi kegagalan yang memenuhi syarat. Ini adalah tingkat yang paling ketat. Menentukan bahwa failover otomatis dimulai pada kondisi kegagalan yang memenuhi syarat, termasuk:

Kelelahan alur pekerja SQL Engine.

Deteksi kebuntuan yang belum terkelola.
5 OnAnyQualifiedFailureConditions

Catatan

Kurangnya respons oleh instans SQL Server terhadap permintaan klien tidak relevan dengan grup ketersediaan.

Tugas Terkait

Untuk mengonfigurasi failover otomatis

Konten terkait

Lihat juga

Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Mode Ketersediaan (Grup Ketersediaan AlwaysOn)
Mode Failover dan Failover (Grup Ketersediaan AlwaysOn)
Pengklusteran Failover Windows Server (WSFC) dengan SQL Server
Kebijakan Failover untuk Instans Kluster Failover
sp_server_diagnostics (Transact-SQL)