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:SQL Server di Azure VM
Tip
Ada banyak metode untuk menyebarkan grup ketersediaan. Sederhanakan penyebaran Anda dan hilangkan kebutuhan akan Azure Load Balancer atau nama jaringan terdistribusi (DNN) untuk grup ketersediaan AlwaysOn Anda dengan membuat komputer virtual (VM) SQL Server Anda di beberapa subnet dalam jaringan virtual Azure yang sama. Jika Anda telah membuat grup ketersediaan dalam satu subnet, Anda dapat memigrasikannya ke lingkungan multi-subnet.
Fitur SQL Server tertentu mengandalkan nama jaringan virtual (VNN) yang dikodekan secara permanen. Saat Anda menggunakan pendengar nama jaringan terdistribusi (DNN) dengan grup ketersediaan AlwaysOn dan SQL Server di Azure VM dalam satu subnet, Anda mungkin mengalami beberapa batasan.
Artikel ini menjelaskan fitur dan interoperabilitas SQL Server dengan pendengar DNN grup ketersediaan.
Perbedaan perilaku
Perhatikan perbedaan berikut antara fungsionalitas pendengar VNN dan pendengar DNN:
- Waktu failover: Waktu failover lebih cepat ketika Anda menggunakan pendengar DNN karena tidak perlu menunggu penyeimbang beban jaringan mendeteksi peristiwa kegagalan dan mengubah peruteannya.
- Koneksi yang ada: Koneksi ke database tertentu dalam grup ketersediaan yang gagal ditutup, tetapi koneksi lain ke replika utama tetap terbuka, karena DNN tetap online selama proses failover. Perilaku ini berbeda dibandingkan dengan lingkungan VNN tradisional di mana semua koneksi ke replika utama biasanya ditutup ketika grup ketersediaan melakukan failover, pendengar menjadi offline, dan replika utama beralih ke peran sekunder. Saat Anda menggunakan pendengar DNN, Anda mungkin perlu menyesuaikan string koneksi aplikasi untuk memastikan bahwa koneksi dialihkan ke replika utama baru setelah failover.
- Transaksi terbuka: Transaksi terbuka terhadap database dalam grup ketersediaan yang gagal akan ditutup dan dikembalikan, dan Anda perlu menyambungkan kembali secara manual. Misalnya, di SQL Server Management Studio, tutup jendela kueri dan buka yang baru.
Driver pelanggan
Untuk driver ODBC, OLEDB, ADO.NET, JDBC, PHP, dan Node.js, tentukan nama dan port pendengar DNN sebagai nama server dalam string koneksi. Untuk memastikan konektivitas cepat terhadap kegagalan, tambahkan MultiSubnetFailover=True ke string koneksi jika klien SQL mendukungnya.
Peralatan
Pengguna SQL Server Management Studio, sqlcmd, dan SQL Server Data Tools perlu menentukan nama dan port pendengar DNN sebagai nama server dalam string koneksi untuk terhubung ke pendengar.
Membuat pendengar DNN dengan menggunakan GUI SQL Server Management Studio (SSMS) saat ini tidak didukung.
Grup ketersediaan dan FCI
Anda dapat mengonfigurasi grup ketersediaan Always On dengan menggunakan instans kluster failover (FCI) sebagai salah satu replika. Agar konfigurasi ini berfungsi dengan pendengar DNN, instans kluster failover juga harus menggunakan DNN karena tidak ada cara untuk menempatkan alamat IP virtual FCI dalam daftar IP AG DNN.
Dalam konfigurasi ini, URL titik akhir pencerminan untuk replika FCI perlu menggunakan FCI DNN. Demikian juga, jika FCI digunakan sebagai replika baca-saja, perutean baca-saja ke replika FCI perlu menggunakan FCI DNN.
Format untuk titik akhir pencerminan adalah: ENDPOINT_URL = 'TCP://<FCI DNN DNS name>:<mirroring endpoint port>'.
Misalnya, jika nama DNS FCI DNN Anda adalah dnnlsnr, dan 5022 merupakan port dari titik akhir pencerminan FCI, cuplikan kode Transact-SQL (T-SQL) untuk membuat URL titik akhir terlihat seperti:
ENDPOINT_URL = 'TCP://dnnlsnr:5022'
Demikian juga, format untuk URL perutean baca-saja adalah: TCP://<FCI DNN DNS name>:<SQL Server instance port>.
Misalnya, jika nama DNS DNN Anda adalah dnnlsnr, dan 1444 merupakan port yang digunakan oleh target baca-saja SQL Server FCI, cuplikan kode T-SQL untuk membuat URL perutean baca-saja terlihat seperti:
READ_ONLY_ROUTING_URL = 'TCP://dnnlsnr:1444'
Anda dapat menghilangkan port di URL jika ini adalah port 1433 default. Untuk instans yang dinamai, konfigurasikan port statik untuk instans yang dinamai dan tentukan dalam URL perutean baca-saja.
Grup ketersediaan terdistribusi
Jika Anda mengonfigurasi pendengar grup ketersediaan dengan menggunakan nama jaringan terdistribusi (DNN), Anda tidak dapat mengonfigurasi grup ketersediaan terdistribusi untuk grup ketersediaan Anda.
Replikasi
Transaksi, Penggabungan, dan Replikasi Snapshot semuanya mendukung penggantian pendengar VNN dengan pendengar DNN dan port dalam objek replikasi yang tersambung ke pendengar tersebut.
Untuk informasi selengkapnya tentang cara menggunakan replikasi dengan grup ketersediaan, lihat Penerbit dan AG, Pelanggan dan AG, dan Distributor dan AG.
MSDTC
MSDTC lokal dan terkluster didukung, tetapi MSDTC menggunakan port dinamis. Port dinamis ini memerlukan Azure Load Balancer standar untuk mengonfigurasi port HA. Dengan demikian, VM harus menggunakan reservasi IP standar, atau Anda tidak dapat mengeksposnya ke internet.
Tentukan dua aturan: satu untuk port RPC Endpoint Mapper 135, dan satu untuk port MSDTC nyata. Setelah failover, ubah aturan load balancer ke port MSDTC baru setelah berubah pada node baru.
Jika MSDTC (Koordinator Transaksi Terdistribusi) bersifat lokal, pastikan mengizinkan komunikasi keluar.
Kueri terdistribusi
Kueri terdistribusi bergantung pada server tertaut, yang dapat Anda konfigurasi dengan listener AG DNN dan port. Jika port bukan 1433, pilih opsi Gunakan sumber data lain di SQL Server Management Studio (SSMS) saat mengonfigurasi server tertaut Anda.
FILESTREAM
FILESTREAM didukung tetapi tidak untuk skenario di mana pengguna mengakses berbagi file terlingkup dengan menggunakan Windows File API.
FileTable
FileTable didukung tetapi tidak untuk skenario di mana pengguna mengakses berbagi file terlingkup dengan menggunakan Windows File API.
Server yang ditautkan
Konfigurasikan server tertaut dengan nama dan port pendengar AG DNN. Jika port bukan 1433, pilih opsi Gunakan sumber data lain di SQL Server Management Studio (SSMS) saat mengonfigurasi server tertaut Anda.
Tanya jawab umum
Versi SQL Server mana yang mendukung pendengar AG DNN?
SQL Server 2019 CU 8 dan versi yang lebih baru.
Berapa waktu failover yang diharapkan saat saya menggunakan pendengar DNN?
Untuk pendengar DNN, waktu failover sama dengan waktu failover AG, tanpa waktu tambahan (seperti waktu pemeriksaan saat Anda menggunakan Azure Load Balancer).
Apakah ada persyaratan versi untuk klien SQL untuk mendukung DNN dengan OLEDB dan ODBC?
Gunakan string koneksi MultiSubnetFailover=True untuk dukungan listener DNN. Ini tersedia dimulai dengan SQL Server 2012 (11.x).
Apakah ada perubahan konfigurasi SQL Server yang diperlukan bagi saya untuk menggunakan listener DNN?
SQL Server tidak memerlukan perubahan konfigurasi apa pun untuk menggunakan DNN, tetapi beberapa fitur SQL Server mungkin memerlukan pertimbangan lebih lanjut.
Apakah DNN mendukung kluster multi-subnet?
Ya. Gugus menghubungkan DNN di DNS dengan alamat IP fisik dari semua replika dalam grup ketersediaan tanpa memperhatikan subnet. Klien SQL mencoba semua alamat IP nama DNS terlepas dari subnetnya.
Apakah listener DNN grup ketersediaan mendukung routing baca-saja?
Ya. Perutean baca-saja didukung dengan listener DNN.