Mengonfigurasi grup failover untuk Azure SQL Managed Instance
Berlaku untuk: Azure SQL Managed Instance
Artikel ini mengajarkan cara mengonfigurasi grup failover untuk Azure SQL Managed Instance dengan menggunakan portal Azure dan Azure PowerShell.
Agar skrip PowerShell end-to-end membuat kedua instans dalam grup failover, tinjau Menambahkan instans ke grup failover dengan PowerShell.
Prasyarat
Untuk mengonfigurasi grup failover, Anda harus sudah memiliki izin yang tepat dan instans terkelola SQL yang ingin Anda gunakan sebagai yang utama. Tinjau Buat instans untuk memulai.
Pastikan untuk meninjau batasan sebelum membuat instans sekunder dan grup failover Anda.
Persyaratan konfigurasi
Untuk mengonfigurasi grup failover antara SQL Managed Instance primer dan sekunder, pertimbangkan persyaratan berikut:
- Instans terkelola sekunder harus kosong, tanpa database pengguna apa pun.
- Dua instans harus memiliki tingkat layanan yang sama, dan memiliki ukuran penyimpanan yang sama. Meskipun tidak diperlukan, sangat disarankan agar kedua instans memiliki ukuran komputasi yang sama untuk memastikan instans sekunder dapat memproses perubahan berkelanjutan yang direplikasi dari instans utama, termasuk selama periode aktivitas puncak.
- Rentang alamat IP untuk jaringan virtual instans utama tidak boleh tumpang tindih dengan rentang alamat jaringan virtual untuk instans terkelola sekunder, atau jaringan virtual lain yang di-peering dengan jaringan virtual utama atau sekunder.
- Kedua instans harus berada di zona DNS yang sama. Saat membuat instans terkelola sekunder, Anda harus menentukan ID zona DNS instans utama. Jika tidak, ID zona dihasilkan sebagai string acak saat instans pertama dibuat di setiap jaringan virtual dan ID yang sama ditetapkan ke semua instans lain di subnet yang sama. Setelah ditetapkan, zona DNS tidak dapat dimodifikasi.
- Aturan Network Security Groups (NSG) untuk subnet kedua instans harus memiliki koneksi TCP masuk dan keluar terbuka untuk port 5022 dan rentang port 11000-11999 untuk memfasilitasi komunikasi antara kedua instans.
- Instans terkelola harus disebarkan ke wilayah yang dipasangkan karena alasan performa. Instans terkelola yang berada di wilayah yang dipasangkan secara geografis mendapat manfaat dari kecepatan replikasi geografis yang jauh lebih tinggi dibandingkan dengan wilayah yang tidak berpasangan.
- Kedua instans harus menggunakan kebijakan pembaruan yang sama.
Membuat instans sekunder
Saat membuat instans sekunder, Anda harus menggunakan jaringan virtual yang memiliki ruang alamat IP yang tidak tumpang tindih dengan rentang ruang alamat IP instans utama. Selain itu, saat mengonfigurasi instans sekunder baru, Anda harus menentukan ID zona instans utama.
Anda dapat mengonfigurasi jaringan virtual sekunder, dan membuat instans sekunder dengan menggunakan portal Azure dan PowerShell.
Membuat jaringan virtual
Untuk membuat jaringan virtual untuk instans sekunder Anda di portal Azure, ikuti langkah-langkah berikut:
Periksa ruang alamat untuk instans utama. Buka sumber daya jaringan virtual untuk instans utama di portal Azure dan di bawah Pengaturan, pilih Ruang alamat. Periksa rentang di bawah Rentang alamat:
Buat jaringan virtual baru yang Anda rencanakan untuk digunakan untuk instans sekunder dengan masuk ke halaman Buat jaringan virtual.
Pada tab Dasar dari halaman Buat jaringan virtual:
- Pilih Grup Sumber Daya yang ingin Anda gunakan untuk instans sekunder. Buat yang baru jika belum ada.
- Berikan nama untuk jaringan virtual Anda, seperti
vnet-sql-mi-secondary
. - Pilih wilayah yang dipasangkan dengan wilayah tempat instans utama berada.
Pada tab alamat IP dari halaman Buat jaringan virtual:
- Gunakan Hapus ruang alamat untuk menghapus ruang alamat IPv4 yang ada.
- Setelah ruang alamat dihapus, pilih Tambahkan ruang alamat IPv4 untuk menambahkan ruang baru, lalu berikan ruang alamat IP yang berbeda dengan ruang alamat yang digunakan oleh jaringan virtual instans utama. Misalnya, jika instans utama Anda saat ini menggunakan ruang alamat 10.0.0.16, masukkan
10.1.0.0/16
untuk ruang alamat jaringan virtual yang ingin Anda gunakan untuk instans sekunder. - Gunakan + Tambahkan subnet untuk menambahkan subnet default dengan nilai default.
- Gunakan + Tambahkan subnet untuk menambahkan subnet kosong bernama
ManagedInstance
yang akan didedikasikan untuk instans sekunder, menggunakan rentang alamat yang berbeda dengan subnet default. Misalnya, jika instans utama Anda menggunakan rentang alamat 10.0.0.0 - 10.0.255.255, maka berikan rentang10.1.1.0 - 10.1.1.255
subnet untuk subnet instans sekunder.
Gunakan Tinjau + Buat untuk meninjau pengaturan Anda lalu gunakan Buat untuk membuat jaringan virtual baru Anda.
Membuat instans sekunder
Setelah jaringan virtual Anda siap, ikuti langkah-langkah berikut untuk membuat instans sekunder Anda di portal Azure:
Buka Buat Azure SQL Managed Instance di portal Azure.
Pada tab Dasar-Dasar dari halaman Buat Azure SQL Managed Instance :
- Pilih wilayah untuk instans sekunder Anda yang dipasangkan dengan instans utama.
- Pilih tingkat layanan yang cocok dengan tingkat layanan instans utama.
Pada tab Jaringan dari halaman Buat Azure SQL Managed Instance , gunakan daftar dropdown di bawah Jaringan virtual/ subnet untuk memilih jaringan virtual dan subnet yang sebelumnya Anda buat:
Pada tab Pengaturan tambahan dari halaman Buat Azure SQL Managed Instance , pilih Ya untuk Digunakan sebagai sekunder failover lalu pilih instans utama yang sesuai dari daftar dropdown.
Konfigurasikan instans lainnya sesuai dengan kebutuhan bisnis Anda, lalu buat dengan menggunakan Tinjau + Buat.
Membangun konektivitas antar instans
Untuk arus lalu lintas replikasi geografis yang tidak terganggu, Anda harus membangun konektivitas antara subnet jaringan virtual yang menghosting instans utama dan sekunder. Ada beberapa cara untuk menghubungkan instans terkelola di berbagai wilayah Azure, termasuk:
- Peering jaringan virtual global
- Azure ExpressRoute
- Gateway VPN
Peering jaringan virtual global direkomendasikan sebagai cara paling berkinerja dan kuat untuk membangun konektivitas antar instans dalam grup failover. Peering jaringan virtual global menyediakan koneksi privat latensi rendah bandwidth tinggi antara jaringan virtual yang di-peering menggunakan infrastruktur backbone Microsoft. Tidak diperlukan internet publik, gateway, atau enkripsi tambahan dalam komunikasi antar jaringan virtual yang di-peering.
Penting
Cara alternatif untuk menghubungkan instans yang melibatkan perangkat jaringan tambahan dapat mempersulit masalah konektivitas pemecahan masalah atau kecepatan replikasi, mungkin memerlukan keterlibatan aktif administrator jaringan, dan berpotensi memperpanjang waktu resolusi secara signifikan.
Jika Anda menggunakan mekanisme untuk membangun konektivitas antara instans selain peering jaringan virtual global yang direkomendasikan, pastikan hal berikut:
- Perangkat jaringan, seperti firewall atau peralatan virtual jaringan (NVA), tidak memblokir lalu lintas pada koneksi masuk dan keluar untuk port 5022 (TCP) dan rentang port 11000-11999.
- Perutean dikonfigurasi dengan benar, dan perutean asimetris dihindari.
- Jika Anda menyebarkan grup failover dalam topologi jaringan hub dan spoke lintas wilayah, untuk menghindari masalah kecepatan konektivitas dan replikasi, lalu lintas replikasi harus langsung berada di antara dua subnet instans terkelola daripada diarahkan melalui jaringan hub.
Artikel ini memandu Anda untuk mengonfigurasi peering jaringan virtual global antara jaringan kedua instans dengan menggunakan portal Azure dan PowerShell.
Di portal Azure, buka Sumber daya jaringan virtual untuk instans terkelola utama Anda.
Pilih Peering di bawah Pengaturan untuk membuka halaman Peering lalu gunakan + Tambahkan dari bilah perintah untuk membuka halaman Tambahkan peering .
Pada halaman Tambahkan peering , masukkan atau pilih nilai untuk pengaturan berikut ini:
Pengaturan Deskripsi Ringkasan jaringan virtual jarak jauh Nama tautan penyerekan Nama untuk peering harus unik dalam jaringan virtual. Artikel ini menggunakan Fog-peering
.Model penyebaran jaringan virtual Pilih Resource manager. Saya mengetahui ID sumber daya saya Anda dapat membiarkan kotak ini tidak dicentang, kecuali Anda mengetahui ID sumber daya. Langganan Pilih langganan dari daftar dropdown. Jaringan virtual Pilih jaringan virtual untuk instans sekunder dari daftar dropdown. Pengaturan peering jaringan virtual jarak jauh Izinkan 'jaringan virtual sekunder' untuk mengakses 'jaringan virtual utama' Centang kotak untuk memperbolehkan komunikasi antara kedua jaringan. Mengaktifkan komunikasi antara jaringan virtual memungkinkan sumber daya yang terhubung ke salah satu jaringan virtual untuk berkomunikasi satu sama lain dengan bandwidth dan latensi yang sama seolah-olah mereka terhubung ke jaringan virtual yang sama. Semua komunikasi antara sumber daya dalam dua jaringan virtual adalah melalui jaringan pribadi Azure. Izinkan 'jaringan virtual sekunder' menerima lalu lintas yang diteruskan dari 'jaringan virtual utama' Anda dapat mencentang atau menghapus centang kotak ini, baik berfungsi untuk panduan ini. Untuk informasi selengkapnya, lihat Membuat peering. Izinkan gateway atau server rute di 'jaringan virtual sekunder' untuk meneruskan lalu lintas ke 'jaringan virtual utama' Anda dapat mencentang atau menghapus centang kotak ini, baik berfungsi untuk panduan ini. Untuk informasi selengkapnya, lihat Membuat peering. Aktifkan 'jaringan virtual sekunder' untuk menggunakan 'gateway jarak jauh jaringan virtual utama atau server rute Biarkan kotak ini tidak dicentang. Untuk informasi selengkapnya tentang opsi lain yang tersedia, lihat Membuat peering. Ringkasan jaringan virtual lokal Nama tautan penyerekan Nama peering yang sama yang digunakan untuk jaringan virtual jarak jauh. Artikel ini menggunakan Fog-peering
.Izinkan 'jaringan virtual utama' untuk mengakses 'jaringan virtual sekunder' Centang kotak untuk memperbolehkan komunikasi antara kedua jaringan. Mengaktifkan komunikasi antara jaringan virtual memungkinkan sumber daya yang terhubung ke salah satu jaringan virtual untuk berkomunikasi satu sama lain dengan bandwidth dan latensi yang sama seolah-olah mereka terhubung ke jaringan virtual yang sama. Semua komunikasi antara sumber daya dalam dua jaringan virtual adalah melalui jaringan pribadi Azure. Izinkan 'jaringan virtual utama' menerima lalu lintas yang diteruskan dari 'jaringan virtual sekunder' Anda dapat mencentang atau menghapus centang kotak ini, baik berfungsi untuk panduan ini. Untuk informasi selengkapnya, lihat Membuat peering. Izinkan gateway atau server rute di 'jaringan virtual utama' untuk meneruskan lalu lintas ke 'jaringan virtual sekunder' Anda dapat mencentang atau menghapus centang kotak ini, baik berfungsi untuk panduan ini. Untuk informasi selengkapnya, lihat Membuat peering. Aktifkan 'jaringan virtual utama' untuk menggunakan 'gateway jarak jauh jaringan virtual sekunder atau server rute Biarkan kotak ini tidak dicentang. Untuk informasi selengkapnya tentang opsi lain yang tersedia, lihat Membuat peering. Gunakan Tambahkan untuk mengonfigurasi peering dengan jaringan virtual yang Anda pilih, dan secara otomatis menavigasi kembali ke halaman Peering, yang menunjukkan dua jaringan tersambung:
Mengonfigurasi port dan aturan NSG
Terlepas dari mekanisme konektivitas yang dipilih antara kedua instans, jaringan Anda harus memenuhi persyaratan berikut untuk arus lalu lintas replikasi geografis:
- Tabel rute dan grup keamanan jaringan yang ditetapkan ke subnet instans terkelola tidak dibagikan di dua jaringan virtual yang di-peering.
- Aturan Network Security Group (NSG) pada kedua subnet yang menghosting setiap instans memungkinkan lalu lintas masuk dan keluar ke instans lain pada port 5022, dan rentang port 11000-11999.
Anda dapat mengonfigurasi komunikasi port dan aturan NSG dengan menggunakan portal Azure dan PowerShell.
Untuk membuka port Network Security Group (NSG) di portal Azure, ikuti langkah-langkah berikut:
Buka sumber daya Grup keamanan jaringan untuk instans utama.
Pada Pengaturan, pilih Aturan keamanan masuk. Periksa untuk melihat apakah Anda sudah memiliki aturan yang memungkinkan lalu lintas untuk port 5022, dan rentang 11000-11999. Jika Anda melakukannya, dan sumber memenuhi kebutuhan bisnis Anda, lewati langkah ini. Jika aturan tidak ada, atau jika Anda ingin menggunakan sumber lain (seperti alamat IP yang lebih aman) hapus aturan yang ada, lalu pilih + Tambahkan dari bilah perintah untuk membuka panel Tambahkan aturan keamanan masuk:
Pada panel Tambahkan aturan keamanan masuk, masukkan, atau pilih nilai untuk pengaturan berikut ini:
Pengaturan Nilai yang direkomendasikan Deskripsi Sumber Alamat IP atau Tag Layanan Filter untuk sumber komunikasi. Alamat IP adalah yang paling aman, dan direkomendasikan untuk lingkungan produksi. Tag layanan sesuai untuk lingkungan nonproduksi. Tag layanan sumber Jika Anda memilih Tag layanan sebagai sumber, berikan VirtualNetwork
sebagai tag sumber.Tag default adalah pengidentifikasi yang telah ditentukan sebelumnya yang mewakili kategori alamat IP. Tag VirtualNetwork menunjukkan semua ruang alamat jaringan virtual dan lokal. Alamat IP sumber Jika Anda memilih alamat IP sebagai sumbernya, berikan alamat IP instans sekunder. Berikan rentang alamat menggunakan notasi CIDR (misalnya 192.168.99.0/24 atau 2001:1234::/64), atau alamat IP (misalnya 192.168.99.0 atau 2001:1234::). Anda juga dapat menyediakan daftar alamat IP atau rentang alamat yang dipisahkan koma menggunakan IPv4 atau IPv6. Source port ranges 5022 Ini menentukan lalu lintas port mana yang akan diizinkan aturan ini. Layanan Adat Layanan menentukan protokol tujuan dan rentang port untuk aturan ini. Rentang port tujuan 5022 Ini menentukan lalu lintas port mana yang akan diizinkan aturan ini. Port ini harus cocok dengan rentang port sumber. Tindakan Izinkan Perbolehkan komunikasi pada port yang ditentukan. Protokol TCP Menentukan protokol untuk komunikasi port. Prioritas 1200 Aturan diproses dalam urutan prioritas; semakin rendah angkanya, semakin tinggi prioritasnya. Nama allow_geodr_inbound Nama aturan. Deskripsi Opsional Anda dapat memilih untuk memberikan deskripsi, atau membiarkan bidang ini kosong. Pilih Tambahkan untuk menyimpan pengaturan Anda dan menambahkan aturan baru Anda.
Ulangi langkah-langkah ini untuk menambahkan aturan keamanan masuk lain untuk rentang
11000-11999
port dengan nama seperti allow_redirect_inbound dan prioritas yang sedikit lebih tinggi dari aturan 5022, seperti1100
.Di Pengaturan, pilih Aturan keamanan keluar. Periksa untuk melihat apakah Anda sudah memiliki aturan yang memungkinkan lalu lintas untuk port 5022, dan rentang 11000-11999. Jika Anda melakukannya, dan sumber memenuhi kebutuhan bisnis Anda, lewati langkah ini. Jika aturan tidak ada, atau jika Anda ingin menggunakan sumber lain (seperti alamat IP yang lebih aman) hapus aturan yang ada, lalu pilih + Tambahkan dari bilah perintah untuk membuka panel Tambahkan aturan keamanan keluar.
Pada panel Tambahkan aturan keamanan keluar, gunakan konfigurasi yang sama untuk port 5022, dan rentang
11000-11999
seperti yang Anda lakukan untuk port masuk.Buka Grup keamanan jaringan untuk instans sekunder, dan ulangi langkah-langkah ini sehingga kedua kelompok keamanan jaringan memiliki aturan berikut:
- Izinkan lalu lintas masuk pada port 5022
- Perbolehkan lalu lintas masuk pada rentang port
11000-11999
- Izinkan lalu lintas keluar pada port 5022
- Izinkan lalu lintas keluar pada rentang port
11000-11999
Buat grup kegagalan
Membuat grup kegagalan dan menambahkan kumpulan elastis ke dalamnya menggunakan portal Microsoft Azure atau PowerShell.
Membuat grup kegagalan untuk SQL Managed Instances Anda menggunakan portal Microsoft Azure.
Pilih Azure SQL di menu sebelah kiri portal Microsoft Azure. Jika Azure SQL tidak ada dalam daftar, pilih Semua layanan, lalu ketik Azure SQL di kotak pencarian. (Opsional) Pilih bintang di samping Azure SQL untuk menambahkannya sebagai item favorit ke navigasi sebelah kiri.
Pilih instans terkelola utama yang ingin Anda tambahkan ke grup kegagalan.
Di bawah Manajemen Data, pilih Grup failover lalu gunakan Tambahkan grup untuk membuka halaman Grup Failover Instans:
Pada halaman Grup Failover Instans:
- Instans terkelola Utama telah dipilih sebelumnya.
- Di bawah Nama grup failover masukkan nama untuk grup failover.
- Di bawah Instans terkelola sekunder, pilih instans terkelola yang ingin Anda gunakan sebagai sekunder dalam grup failover.
- Pilih kebijakan failover Baca/Tulis dari daftar dropdown. Manual disarankan untuk memberi Anda kontrol atas failover.
- Biarkan Aktifkan hak failover ke Nonaktif, kecuali Anda ingin menggunakan replika ini hanya untuk pemulihan bencana.
- Gunakan Buat untuk menyimpan pengaturan Anda dan membuat grup failover Anda.
Setelah penyebaran grup failover dimulai, Anda akan dibawa kembali ke halaman Grup failover. Halaman di-refresh untuk menunjukkan kepada Anda grup failover baru setelah penyebaran selesai.
Menguji failover
Uji failover grup failover Anda dengan menggunakan portal Azure atau PowerShell.
Catatan
Jika instans berada dalam langganan yang berbeda, atau grup sumber daya, mulai failover dari instans sekunder.
Menguji grup kegagalan Anda menggunakan portal Microsoft Azure.
Buka instans terkelola primer atau sekunder dalam portal Azure.
Di bagian Manajemen data, pilih Grup failover.
Pada panel Grup failover, perhatikan instans mana yang merupakan instans utama, dan instans mana yang merupakan instans sekunder.
Pada panel Grup failover, pilih Failover dari bilah perintah. Pilih Ya pada peringatan tentang sesi TDS yang terputus, dan perhatikan implikasi lisensi.
Pada panel Grup failover, setelah failover berhasil, instans beralih peran sehingga sekunder sebelumnya menjadi primer baru dan primer sebelumnya menjadi sekunder baru.
Penting
Jika peran tidak beralih, periksa konektivitas antara instans dan NSG terkait dan aturan firewall. Lanjutkan dengan langkah berikutnya hanya setelah peran beralih.
(Opsional) Pada panel Grup failover, gunakan Failover untuk mengalihkan peran kembali sehingga primer asli menjadi utama lagi.
Mengubah grup failover yang ada
Anda dapat mengubah grup failover yang ada, seperti mengubah kebijakan failover, dengan menggunakan portal Azure, PowerShell, Azure CLI, dan REST API.
Untuk mengubah grup failover yang ada dengan menggunakan portal Azure, ikuti langkah-langkah berikut:
Buka instans terkelola SQL Anda di portal Azure.
Di bawah Manajemen data, pilih Grup failover untuk membuka panel Grup failover.
Pada panel Grup failover, pilih Edit konfigurasi dari bilah perintah untuk membuka panel Edit grup failover:
Lokasikan titik akhir pendengar
Setelah grup failover Anda dikonfigurasi, perbarui string koneksi agar aplikasi Anda menunjuk ke titik akhir listener Baca/tulis sehingga aplikasi Anda terus terhubung ke instans mana pun yang utama setelah failover. Dengan menggunakan titik akhir pendengar, Anda tidak perlu memperbarui string koneksi secara manual setiap kali grup failover Anda gagal karena lalu lintas selalu dirutekan ke primer saat ini. Anda juga dapat mengarahkan beban kerja baca-saja ke titik akhir pendengar baca-saja .
Penting
Saat menyambungkan ke instans dalam grup failover menggunakan string koneksi khusus instans didukung, instans sangat tidak disarankan. Gunakan titik akhir pendengar sebagai gantinya.
Untuk menemukan titik akhir pendengar di portal Azure, buka instans terkelola SQL Anda dan di bawah Manajemen data, pilih Grup failover.
Gulir ke bawah untuk menemukan titik akhir pendengar:
- Titik akhir listener Baca/tulis, dalam bentuk
fog-name.dns-zone.database.windows.net
, merutekan lalu lintas ke instans utama. - Titik akhir pendengar baca-saja , dalam bentuk
fog-name.secondary.dns-zone.database.windows.net
, merutekan lalu lintas ke instans sekunder.
Membuat grup failover antar instans dalam langganan yang berbeda
Anda dapat membuat grup failover antara SQL Managed Instances dalam dua langganan yang berbeda, selama langganan dikaitkan dengan penyewa Microsoft Entra yang sama.
- Saat menggunakan PowerShell API, Anda dapat melakukannya dengan menentukan parameter
PartnerSubscriptionId
untuk SQL Managed Instance sekunder. - Saat menggunakan REST API, setiap ID instans yang disertakan dalam parameter
properties.managedInstancePairs
dapat memiliki ID langganan sendiri. - portal Azure tidak mendukung pembuatan grup failover di berbagai langganan.
Penting
Portal Azure tidak mendukung pembuatan grup failover di berbagai langganan. Untuk grup failover di berbagai langganan dan/atau grup sumber daya, failover tidak dapat dimulai secara manual melalui portal Azure dari instans terkelola SQL utama. Sebagai gantinya, mulai dari instans geo-sekunder.
Mencegah hilangnya data penting
Dikarenakan latensi jaringan area luas yang tinggi, salinan berkelanjutan menggunakan mekanisme replikasi asinkron. Replikasi asinkron membuat kemungkinan kehilangan data tidak dapat dihindari jika primer gagal. Untuk melindungi pembaruan penting ini, pengembang aplikasi dapat memanggil prosedur sistem sp_wait_for_database_copy_sync segera setelah melakukan transaksi. Memanggil sp_wait_for_database_copy_sync
akan memblokir utas panggilan hingga transaksi terakhir yang dilakukan telah dikirim ke database sekunder. Namun, tidak menunggu transaksi yang dikirimkan diputar ulang (redone) pada sekunder. sp_wait_for_database_copy_sync
dicakup ke tautan geo-replikasi tertentu. Setiap pengguna dengan hak koneksi ke database utama dapat memanggil prosedur ini.
Catatan
sp_wait_for_database_copy_sync
mencegah kehilangan data setelah geo-failover untuk transaksi tertentu, tetapi tidak menjamin sinkronisasi penuh untuk akses baca. Keterlambatan yang disebabkan oleh panggilan sp_wait_for_database_copy_sync
prosedur dapat menjadi signifikan dan bergantung pada ukuran log transaksi pada saat panggilan.
Mengubah wilayah sekunder
Mari kita asumsikan bahwa instans A adalah instans utama, instans B adalah instans sekunder yang ada, dan instans C adalah instans sekunder baru di wilayah ketiga. Untuk melakukan transisi, ikuti langkah-langkah berikut:
- Buat instans C dengan ukuran yang sama dengan A dan di zona DNS yang sama.
- Hapus grup failover antara instans A dan B. Pada titik ini, upaya untuk masuk mulai gagal karena alias SQL untuk pendengar grup failover telah dihapus dan gateway tidak akan mengenali nama grup failover. Database sekunder terputus dari utama dan menjadi database baca-tulis.
- Buat grup failover dengan nama yang sama antara instans A dan C. Ikuti instruksi dalam mengonfigurasi panduan grup failover. Ini adalah operasi ukuran data dan selesai ketika semua database dari instans A disemai dan disinkronkan.
- Hapus instans B jika tidak diperlukan untuk menghindari biaya yang tidak perlu.
Catatan
Setelah langkah 2 dan sampai langkah 3 selesai, database di instans A akan tetap tidak terlindungi dari kegagalan fatal instans A.
Mengubah wilayah utama
Mari kita asumsikan bahwa instans A adalah instans utama, instans B adalah instans sekunder yang sudah ada, dan instans C adalah instans sekunder baru di wilayah ketiga. Untuk melakukan transisi, ikuti langkah-langkah berikut:
- Buat instans C dengan ukuran yang sama dengan B dan di zona DNS yang sama.
- Mulai failover manual dari instans B untuk menjadikannya primer baru. Instans A menjadi instans sekunder baru secara otomatis.
- Hapus grup failover antara instans A dan B. Pada titik ini, upaya masuk menggunakan titik akhir grup failover mulai gagal. Database sekunder pada A terputus dari utama dan menjadi database baca-tulis.
- Buat grup failover dengan nama yang sama antara instans B dan C. Ini adalah operasi ukuran data dan selesai ketika semua database dari instans B disemai dan disinkronkan dengan instans C. Pada titik ini, upaya masuk berhenti gagal.
- Failover secara manual untuk mengalihkan instans C ke peran utama. Instans B menjadi instans sekunder baru secara otomatis.
- Hapus instans A jika tidak diperlukan untuk menghindari biaya yang tidak perlu.
Perhatian
Setelah langkah 3 dan sampai langkah 4 selesai, database dalam instans A akan tetap tidak terlindungi dari kegagalan bencana instans A.
Penting
Saat grup failover dihapus, catatan DNS untuk titik akhir pendengar juga dihapus. Pada saat itu, ada kemungkinan non-nol orang lain membuat grup failover dengan nama yang sama. Karena nama grup failover harus unik secara global, ini akan mencegah Anda menggunakan nama yang sama lagi. Untuk meminimalkan risiko, jangan gunakan nama grup failover yang umum.
Mengubah kebijakan pembaruan
Instans dalam grup failover harus memiliki kebijakan pembaruan yang cocok. Untuk mengaktifkan kebijakan pembaruan Always-up-to-date pada instans yang merupakan bagian dari grup failover, pertama-tama aktifkan kebijakan pembaruan Always-to-date pada instans sekunder, tunggu perubahan diterapkan, lalu perbarui kebijakan untuk instans utama.
Saat mengubah kebijakan pembaruan pada instans utama dalam grup failover menyebabkan instans gagal ke node lokal lain (mirip dengan operasi manajemen pada instans yang bukan bagian dari grup failover), itu tidak menyebabkan grup failover gagal, menjaga instans utama dalam peran utama.
Perhatian
Setelah kebijakan yang diperbarui diubah menjadi Always-to-date, mengubahnya kembali ke kebijakan pembaruan SQL Server 2022 tidak lagi dimungkinkan.
Mengaktifkan skenario yang bergantung pada objek dari database sistem
Database sistem tidak direplikasi ke instans sekunder dalam grup failover. Untuk mengaktifkan skenario yang bergantung pada objek dari database sistem, pastikan untuk membuat objek yang sama pada instans sekunder dan tetap sinkronkan dengan instans utama.
Misalnya, jika Anda berencana untuk menggunakan login yang sama pada instans sekunder, pastikan untuk membuatnya dengan SID yang identik.
-- Code to create login on the secondary instance
CREATE LOGIN foo WITH PASSWORD = '<enterStrongPasswordHere>', SID = <login_sid>;
Untuk mempelajari selengkapnya, lihat Replikasi login dan pekerjaan agen.
Menyinkronkan properti instans dan instans kebijakan retensi
Instans dalam grup failover tetap memisahkan sumber daya Azure, dan tidak ada perubahan yang dilakukan pada konfigurasi instans primer akan secara otomatis direplikasi ke instans sekunder. Pastikan untuk melakukan semua perubahan yang relevan baik pada contoh primer dan sekunder. Misalnya, jika Anda mengubah redundansi penyimpanan cadangan atau kebijakan retensi cadangan jangka panjang pada contoh primer, pastikan untuk mengubahnya pada instans sekunder juga.
Menskalakan instans
Anda dapat menskalakan instans primer dan sekunder ke atas atau ke bawah ke ukuran komputasi yang berbeda dalam tingkat layanan yang sama atau ke tingkat layanan yang berbeda. Saat meningkatkan skala dalam tingkat layanan yang sama, pertama-tama tingkatkan geo-sekunder terlebih dahulu, lalu tingkatkan skala primer. Saat menurunkan skala dalam tingkat layanan yang sama, balikkan urutan: turunkan skala primer terlebih dahulu, lalu turunkan skala sekunder. Ikuti urutan yang sama saat Anda menskalakan instans ke tingkat layanan yang berbeda.
Urutan ini disarankan untuk menghindari masalah dari geo-sekunder, pada SKU yang lebih rendah, kelebihan beban dan harus diubah selama proses peningkatan atau penurunan.
Izin
Izin untuk grup failover dikelola melalui kontrol akses berbasis peran Azure (Azure RBAC).
Peran Kontributor SQL Managed Instance, yang tercakup dalam grup sumber daya instans terkelola utama dan sekunder, cukup untuk melakukan semua operasi manajemen pada grup failover.
Tabel berikut ini menyediakan tampilan terperinci dari izin minimal yang diperlukan dan tingkat cakupan minimal yang diperlukan masing-masing untuk operasi manajemen pada grup failover:
Operasi manajemen | Izin | Cakupan |
---|---|---|
Membuat/Memperbarui grup failover | Microsoft.Sql/locations/instanceFailoverGroups/write |
Grup sumber daya instans terkelola primer dan sekunder |
Membuat/Memperbarui grup failover | Microsoft.Sql/managedInstances/write |
Instans terkelola primer dan sekunder |
Grup failover failover failover | Microsoft.Sql/locations/instanceFailoverGroups/failover/action |
Grup sumber daya instans terkelola primer dan sekunder |
Paksa grup failover failover | Microsoft.Sql/locations/instanceFailoverGroups/forceFailoverAllowDataLoss/action |
Grup sumber daya instans terkelola primer dan sekunder |
Menghapus grup failover | Microsoft.Sql/locations/instanceFailoverGroups/delete |
Grup sumber daya instans terkelola primer dan sekunder |
Batasan
Saat membuat grup failover baru, pertimbangkan batasan berikut:
- Grup failover tidak dapat dibuat di antara dua instans di wilayah Azure yang sama .
- Instans hanya dapat berpartisipasi dalam satu grup failover kapan saja.
- Grup failover tidak dapat dibuat di antara dua instans milik penyewa Azure yang berbeda.
- Membuat grup failover antara dua instans di grup sumber daya atau langganan yang berbeda hanya didukung dengan Azure PowerShell, atau REST API, dan bukan portal Azure atau Azure CLI. Setelah grup failover dibuat, grup tersebut terlihat di portal Azure, dan semua operasi didukung di portal Azure atau dengan Azure CLI. Failover harus dimulai dari instans sekunder.
- Jika penyemaian awal semua database tidak selesai dalam waktu 7 hari, pembuatan grup failover gagal dan semua database yang berhasil direplikasi dihapus dari instans sekunder.
- Membuat grup failover dengan instans yang dikonfigurasi dengan tautan instans terkelola saat ini tidak didukung.
- Grup failover tidak dapat dibuat di antara instans jika salah satunya berada dalam kumpulan instans.
- Database yang dimigrasikan ke Azure SQL Managed Instance dengan menggunakan Log Replay Service (LRS) tidak dapat ditambahkan ke grup failover hingga langkah cutover dijalankan.
Saat menggunakan grup failover, pertimbangkan batasan berikut:
- Grup failover tidak dapat diganti namanya. Anda harus menghapus grup dan membuatnya kembali dengan nama yang berbeda.
- Grup failover berisi tepat dua instans terkelola. Menambahkan instans tambahan ke grup failover tidak didukung.
- Pencadangan penuh secara otomatis diambil:
- sebelum penyemaian awal dan dapat terasa menunda awal proses penyemaian awal.
- setelah failover, dan dapat menunda atau mencegah failover berikutnya.
- Penggantian nama database tidak didukung untuk database dalam grup failover. Anda harus menghapus grup failover untuk sementara agar dapat mengganti nama database.
- Database sistem tidak direplikasi ke instans sekunder dalam grup failover. Oleh karena itu, skenario yang bergantung pada objek dari database sistem seperti pekerjaan Server Logins dan Agent, mengharuskan objek dibuat secara manual pada instans sekunder dan juga secara manual disimpan sesuai dengan perubahan yang telah dibuat pada instans utama. Satu-satunya pengecualian adalah Kunci master layanan (SMK) untuk SQL Managed Instance yang direplikasi secara otomatis ke instans sekunder selama pembuatan grup failover. Setiap perubahan SMK berikutnya pada instans utama namun tidak akan direplikasi ke instans sekunder. Untuk mempelajari selengkapnya, lihat cara Mengaktifkan skenario yang bergantung pada objek dari database sistem.
- Untuk instans di dalam grup failover, mengubah tingkat layanan ke, atau dari, tingkat Tujuan Umum Next-gen tidak didukung. Anda harus terlebih dahulu menghapus grup failover sebelum memodifikasi salah satu replika, lalu membuat ulang grup failover setelah perubahan berlaku.
- Instans terkelola SQL dalam grup failover harus memiliki kebijakan pembaruan yang sama, meskipun dimungkinkan untuk mengubah kebijakan pembaruan untuk instans dalam grup failover.
Mengelola grup failover secara terprogram
Grup failover juga dapat dikelola secara terprogram menggunakan Azure PowerShell, Azure CLI, dan REST API. Tabel berikut ini menjelaskan kumpulan perintah yang tersedia. Grup failover mencakup sekumpulan API Azure Resource Manager untuk manajemen, termasuk azure SQL Database REST API dan cmdlet Azure PowerShell. API tersebut ini memerlukan penggunaan grup sumber daya dan mendukung kontrol akses berbasis peran Azure (Azure RBAC). Untuk informasi selengkapnya tentang cara menerapkan peran akses, lihat Kontrol akses berbasis peran Azure (Azure RBAC).
Cmdlet | Deskripsi |
---|---|
Baru-AzSqlDatabaseInstanceFailoverGroup | Perintah ini membuat grup failover dan mendaftarkannya di instans utama dan sekunder |
Set-AzSqlDatabaseInstanceFailoverGroup | Memodifikasi konfigurasi grup failover |
Mendapatkan-AzSqlDatabaseInstanceFailoverGroup | Mengambil konfigurasi grup failover |
Switch-AzSqlDatabaseInstanceFailoverGroup | Memicu failover grup failover ke instans sekunder |
Remove-AzSqlDatabaseInstanceFailoverGroup | Menghapus grup failover |