Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
Untuk skrip PowerShell end-to-end yang digunakan untuk membuat kedua instans dalam grup failover, tinjau Menambahkan instans ke grup failover dengan PowerShell.
Prasyarat
Untuk mengonfigurasi grup failover, Anda harus sudah memiliki hak akses yang tepat dan instans terkelola SQL yang ingin Anda gunakan sebagai instans utama. Tinjau opsi Buat Instans untuk memulai.
Pastikan untuk meninjau batasan tersebut 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.
- Konfigurasi instans utama dan sekunder Anda harus sama untuk memastikan instans sekunder dapat memproses perubahan berkelanjutan yang direplikasi dari instans utama, termasuk selama periode aktivitas puncak. Ini termasuk ukuran komputasi, ukuran penyimpanan, dan tingkat layanan.
- 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 dalam bentuk string acak saat instans pertama dibuat di setiap jaringan virtual dan ID yang sama dialokasikan ke semua instans lainnya 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 ditempatkan di wilayah berpasangan demi 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/16untuk 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
ManagedInstanceyang 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.255subnet 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 global virtual
- Azure ExpressRoute
- Gateway VPN
Peering jaringan virtual globaldirekomendasikan sebagai cara paling efektif dan kuat untuk membangun konektivitas antar instans dalam grup failover. Peering jaringan virtual global menyediakan koneksi privat dengan latensi rendah dan bandwidth tinggi antara jaringan virtual yang di-peering menggunakan infrastruktur jaringan tulang punggung 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-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, keduanya berfungsi dalam panduan ini. Untuk informasi selengkapnya, lihat Membuat peering. Izinkan gateway atau server rute di 'jaringan virtual sekunder' untuk meneruskan lalu lintas dari 'jaringan virtual sekunder' ke 'jaringan virtual utama' Anda dapat mencentang atau tidak mencentang kotak ini, keduanya sesuai untuk panduan ini. Untuk informasi selengkapnya, lihat Membuat peering. Aktifkan 'jaringan virtual sekunder' untuk menggunakan 'gateway jarak jauh atau server rute dari jaringan virtual utama'. 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, keduanya sesuai 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; keduanya sesuai 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 kelompok keamanan jaringan yang ditetapkan ke subnet instans terkelola tidak dibagikan di antara kedua jaringan virtual yang terhubung.
- 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 VirtualNetworksebagai 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. Rentang port sumber 5022 Ini menentukan port mana yang lalu lintasnya akan diizinkan oleh aturan ini. Layanan Kustomisasi 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 PKT Menentukan protokol untuk komunikasi port. Prioritas 1.200 Aturan diproses dalam urutan prioritas; semakin rendah angkanya, semakin tinggi prioritasnya. Nama izinkan_geodr_masuk 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-11999port dengan nama seperti allow_redirect_inbound dan prioritas yang sedikit lebih tinggi dari aturan 5022, seperti1100.Di Pengaturan, pilih Aturan keamanan keluar. Periksa 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-11999seperti 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 cadangan otomatis
Buat grup failover untuk instance terkelola Anda menggunakan portal Azure atau PowerShell.
Gunakan portal Azure untuk membuat grup pemulihan otomatis bagi SQL Managed Instances Anda.
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 Data Management, pilih Failover groups dan kemudian gunakan Add group untuk membuka halaman Instance Failover Group:
Pada halaman Grup Failover Instans
- Instans terkelola Utama telah dipilih sebelumnya.
- Di kotak 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 menu dropdown. Manual disarankan untuk memberi Anda kontrol atas failover.
- Biarkan hak failover diaktifkan dalam keadaan Nonaktif, kecuali jika 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 akan diperbarui untuk menampilkan grup failover baru setelah penyebaran selesai.
Menguji alih beban
Uji failover grup failover Anda dengan menggunakan portal Azure atau PowerShell.
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 Failover groups, pilih Failover dari bilah perintah. Pilih Ya pada peringatan tentang sesi TDS yang terputus, dan perhatikan implikasi lisensi.
Pada panel Failover groups, setelah failover berhasil, instansia beralih peran sehingga instansia sekunder yang sebelumnya menjadi instansia primer baru dan instansia primer yang sebelumnya menjadi instansia sekunder baru.
Penting
Jika peran tidak beralih, periksa konektivitas antara instans-instans dan aturan firewall serta NSG terkait. Lanjutkan dengan langkah berikutnya hanya setelah terjadi pergantian peran.
(Opsional) Pada panel Grup Failover, gunakan Failover untuk mengalihkan peran kembali sehingga primer asli menjadi primer lagi.
Melacak failover di log aktivitas
Anda dapat menggunakan log Aktivitas di portal Microsoft Azure untuk melacak status operasi failover. Untuk melakukan ini, ikuti langkah-langkah berikut:
Buka instans terkelola SQL Anda di portal Azure.
Pilih Log aktivitas untuk membuka panel Log aktivitas .
Hapus filter apa pun untuk Sumber Daya.
Cari operasi dengan nama
Failover Azure SQL Database failover group:
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 aplikasi Anda agar menunjuk ke endpoint pembaca/penulis sehingga aplikasi Anda terus terhubung ke instance mana pun yang menjadi 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 penghubung baca-saja.
Penting
Meskipun menyambungkan ke instans dalam grup failover menggunakan string koneksi khusus instans didukung, penggunaan ini sangat tidak dianjurkan. Gunakan titik akhir pendengar sebagai gantinya.
Untuk menemukan titik akhir pendengar di portal Azure, buka instans SQL terkelola 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. - Endpoint 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 tersebut dikaitkan dengan tenant Microsoft Entra yang sama.
- Saat menggunakan PowerShell API, Anda dapat melakukannya dengan menentukan parameter
PartnerSubscriptionIduntuk SQL Managed Instance sekunder. - Saat menggunakan REST API, setiap ID instans yang disertakan dalam parameter
properties.managedInstancePairsdapat memiliki ID langganan sendiri. - portal Azure tidak mendukung pembuatan grup failover di berbagai langganan.
Penting
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.
Mencegah hilangnya data penting
Karena latensi tinggi pada jaringan area luas (WAN), geo-replikasi menggunakan mekanisme replikasi asinkron. Replikasi asinkron membuat kemungkinan kehilangan data tidak dapat dihindari jika primer gagal. Untuk melindungi transaksi penting dari kehilangan data, pengembang aplikasi dapat memanggil prosedur sistem sp_wait_for_database_copy_sync segera setelah mengonfirmasi transaksi. Memanggil sp_wait_for_database_copy_sync akan memblokir thread yang memanggil hingga transaksi terakhir yang dilakukan telah dikirim dan diperkuat dalam log transaksi di database sekunder. Namun, ia tidak menunggu transaksi yang telah dikirimkan untuk diputar ulang (redone) pada sistem sekunder.
sp_wait_for_database_copy_sync dibatasi pada tautan replikasi geografis tertentu. Setiap pengguna dengan hak koneksi ke database utama dapat memanggil prosedur ini.
Untuk mencegah kehilangan data selama geo-failover yang dimulai pengguna, direncanakan, replikasi secara otomatis dan sementara berubah menjadi replikasi sinkron, lalu melakukan failover. Replikasi kemudian kembali ke mode asinkron setelah geo-failover selesai.
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 yang belum ditransmisikan 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 terkait ukuran data dan selesai ketika semua database dari instansi 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.
- Lakukan failover manual dari instans B untuk menjadikannya utama 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 berbasis ukuran data dan selesai ketika semua database dari instans B telah disemai dan disinkronkan dengan instans C. Pada titik ini, upaya masuk tidak lagi gagal.
- Lakukan 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 listener juga dihapus. Pada saat itu, ada kemungkinan tidak nol bahwa 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 mengubah kebijakan pembaruan ke versi yang lebih tinggi pada instans yang merupakan bagian dari grup failover, pertama-tama aktifkan kebijakan pembaruan pada instans sekunder, tunggu perubahan diterapkan, lalu perbarui kebijakan untuk instans utama.
Saat mengubah kebijakan pembaruan pada instans utama dalam grup failover menyebabkan instans tersebut beralih ke node lokal lain (mirip dengan operasi manajemen pada instans yang bukan bagian dari grup failover), hal ini tidak menyebabkan grup failover melakukan failover, sehingga instans utama tetap menjalankan peran utamanya.
Perhatian
Setelah kebijakan yang diperbarui diubah ke versi SQL Server yang lebih tinggi, termasuk Always-up-to-date, mengubahnya kembali ke kebijakan pembaruan versi yang lebih rendah 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 merupakan sumber daya Azure yang terpisah, dan perubahan yang dilakukan pada konfigurasi instans primer tidak 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
Konfigurasi instans utama dan sekunder Anda harus sama. Ini termasuk ukuran komputasi, ukuran penyimpanan, dan tingkat layanan. Jika Anda perlu mengubah konfigurasi grup failover, Anda dapat melakukannya dengan menskalakan setiap instans ke konfigurasi yang sama.
Untuk menghindari masalah dari tingkat layanan yang lebih rendah atau geo-sekunder yang kurang sumber daya kelebihan beban, atau harus diubah selama proses peningkatan atau penurunan tingkat, pertimbangkan hal berikut:
- 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, 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 mengubah konfigurasi instans Anda. Jika Anda meningkatkan skala sumber daya, lakukan terlebih dahulu pada sumber daya sekunder. Jika Anda menurunkan skala, lakukan pada primer terlebih dahulu. Ini berlaku untuk perubahan konfigurasi instans berikut:
- Meningkatkan atau menurunkan tingkat layanan.
- Mengubah jumlah vCores.
- Menskalakan ukuran penyimpanan.
- Mengubah alokasi memori pada instans Generasi Berikutnya Tujuan Umum Anda.
Hak Akses
Izin untuk grup failover dikelola melalui kontrol akses berbasis peran Azure (Azure RBAC).
Peran Kontributor SQL Managed Instance, yang diberi lingkup ke grup sumber daya dari instans terkelola utama dan sekunder, sudah 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 dikelola primer dan sekunder |
| Grup failover failover | Microsoft.Sql/locations/instanceFailoverGroups/failover/action |
Grup sumber daya instans terkelola primer dan sekunder |
| Paksa failover grup 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 pada saat yang bersamaan.
- 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.
- 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 pemulaian awal dan dapat secara signifikan menunda mulainya proses pemulaian awal.
- Setelah failover, dapat menunda atau mencegah terjadinya 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. Perubahan SMK berikutnya pada instans utama tidak akan direplikasi ke instans sekunder. Untuk mempelajari selengkapnya, lihat cara Mengaktifkan skenario yang bergantung pada objek dari database sistem.
- Ketika database baru ditambahkan ke grup failover, failover yang direncanakan tidak tersedia sampai database baru telah disemai ke replika sekunder dan disinkronkan. Failover paksa masih tersedia selama proses ini.
- Untuk menskalakan instans di dalam grup failover, tinjau Menskalakan instans dalam grup failover.
- 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 |
|---|---|
| New-AzSqlDatabaseInstanceFailoverGroup | Perintah ini membuat grup failover dan mendaftarkannya di instans utama dan sekunder |
| Set-AzSqlDatabaseInstanceFailoverGroup | Mengubah konfigurasi grup failover |
| Dapatkan-AzSqlDatabaseInstanceFailoverGroup | Mengambil konfigurasi grup failover |
| Switch-AzSqlDatabaseInstanceFailoverGroup (Perintah ini digunakan untuk menggilirkan grup failover instance database SQL di layanan Azure.) | Memicu grup failover untuk beralih ke instans sekunder |
| Remove-AzSqlDatabaseInstanceFailoverGroup (Hapus Kelompok Failover Instans Basis Data Sql Azure) | Menghapus grup failover |