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.
Untuk mengonfigurasi grup ketersediaan AlwaysOn untuk mendukung perutean baca-saja di SQL Server 2014, Anda dapat menggunakan Transact-SQL atau PowerShell. Perutean baca-saja mengacu pada kemampuan SQL Server untuk merutekan permintaan koneksi baca-saja yang memenuhi syarat ke replika sekunder yang dapat dibaca AlwaysOn yang tersedia (yaitu, replika yang dikonfigurasi untuk memungkinkan beban kerja baca-saja saat berjalan di bawah peran sekunder). Untuk mendukung perutean baca-saja, grup ketersediaan harus memiliki pendengar grup ketersediaan. Klien yang hanya membaca harus mengarahkan permintaan koneksi mereka ke pendengar ini, dan string koneksi klien harus menentukan niat aplikasi sebagai "baca-saja." Artinya, mereka harus menjadi permintaan koneksi niat baca.
Nota
Untuk informasi tentang cara mengonfigurasi replika sekunder yang dapat dibaca, lihat Mengonfigurasi akses Read-Only pada Replika Ketersediaan (SQL Server).
Nota
Mengonfigurasi perutean baca-saja tidak didukung oleh SQL Server Management Studio.
Sebelum Anda mulai
Prasyarat
Grup ketersediaan harus memiliki pendengar grup ketersediaan. Untuk informasi selengkapnya, lihat Membuat atau Mengonfigurasi Listener Grup Ketersediaan (SQL Server).
Satu atau beberapa replika ketersediaan harus dikonfigurasi untuk menerima akses baca-saja pada peran sekunder (yaitu, menjadi replika sekunder yang dapat dibaca (AlwaysOn%20Availability%20Groups).md)). Untuk informasi selengkapnya, lihat Mengonfigurasi akses Read-Only pada Replika Ketersediaan (SQL Server).
Anda harus terhubung ke instans server yang menghosting replika utama saat ini.
Properti Replika Apa yang Perlu Anda Konfigurasikan untuk Mendukung Perutean Read-Only?
Untuk setiap replika sekunder yang dapat dibaca yang mendukung perutean baca-saja, Anda perlu menentukan URL perutean baca-saja. URL ini hanya berlaku ketika replika lokal berjalan di bawah peran sekunder. URL perutean baca-saja harus ditentukan berdasarkan replika demi replika, sesuai kebutuhan. Setiap URL perutean baca-saja digunakan untuk merutekan permintaan koneksi niat baca ke replika sekunder tertentu yang dapat dibaca. Biasanya, setiap replika sekunder yang dapat dibaca diberi URL perutean baca-saja.
Untuk informasi tentang menghitung URL perutean baca-saja untuk replika ketersediaan, lihat Menghitung read_only_routing_url untuk AlwaysOn.
Untuk setiap replika ketersediaan yang ingin Anda dukung perutean baca-saja ketika replika tersebut menjadi replika utama, Anda perlu menentukan daftar perutean baca-saja. Daftar perutean baca-saja yang diberikan hanya berlaku ketika replika lokal berjalan di bawah peran utama. Daftar ini harus ditentukan berdasarkan replika demi replika, sesuai kebutuhan. Biasanya, setiap daftar perutean baca-saja akan berisi setiap URL perutean baca-saja, dengan URL replika lokal di akhir daftar.
Nota
Permintaan koneksi baca-niat dirutekan ke sekunder pertama yang dapat dibaca yang tersedia pada daftar perutean baca-saja dari replika utama saat ini. Tidak ada penyeimbangan beban.
Nota
Untuk informasi tentang pemantau grup ketersediaan dan informasi selengkapnya tentang perutean hanya-baca, lihat Pemantau Grup Ketersediaan, Konektivitas Klien, dan Failover Aplikasi (SQL Server).
Keamanan
Hak akses
| Tugas | Hak akses |
|---|---|
| Untuk mengonfigurasi replika saat membuat grup ketersediaan | Memerlukan keanggotaan dalam peran server tetap sysadmin dan izin CREATE AVAILABILITY GROUP, izin ALTER ANY AVAILABILITY GROUP, atau izin CONTROL SERVER. |
| Untuk mengubah replika ketersediaan | Memerlukan izin UBAH GRUP KETERSEDIAAN pada grup ketersediaan, izin KONTROL GRUP KETERSEDIAAN, izin UBAH SEMUA GRUP KETERSEDIAAN, atau izin KONTROL SERVER. |
Menggunakan T-SQL
Untuk Mengonfigurasi perutean baca-saja
Nota
Untuk contoh kode, lihat Contoh (Transact-SQL), nanti di bagian ini.
Sambungkan ke instans server yang menghosting replika utama.
Jika Anda menentukan replika untuk grup ketersediaan baru, gunakan pernyataan CREATE AVAILABILITY GROUPTransact-SQL. Jika Anda menambahkan atau memodifikasi replika untuk grup ketersediaan yang ada, gunakan pernyataan ALTER AVAILABILITY GROUPTransact-SQL.
Untuk mengonfigurasi perutean baca-saja untuk peran sekunder, dalam klausul ADD REPLICA atau MODIFY REPLICA WITH, tentukan opsi SECONDARY_ROLE, sebagai berikut:
SECONDARY_ROLE ( READ_ONLY_ROUTING_URL ='TCP://
system-address:port')Parameter URL routing hanya baca adalah sebagai berikut:
alamat sistem
Adalah string, seperti nama sistem, nama domain yang sepenuhnya memenuhi syarat, atau alamat IP, yang secara tidak ambigu mengidentifikasi sistem komputer tujuan.pelabuhan
Adalah nomor port yang digunakan oleh Mesin Database instans SQL Server.Misalnya:
SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER01.contoso.com:1433')Dalam klausa MODIFIKASI REPLIKA, ALLOW_CONNECTIONS bersifat opsional apabila replika sudah dikonfigurasi untuk hanya mengizinkan koneksi hanya membaca.
Untuk informasi selengkapnya, lihat Menghitung read_only_routing_url untuk AlwaysOn.
Untuk mengonfigurasi perutean baca-saja untuk peran utama, dalam klausa ADD REPLICA atau MODIFY REPLICA WITH, tentukan opsi PRIMARY_ROLE seperti berikut:
PRIMARY_ROLE ( READ_ONLY_ROUTING_LIST =('
server' [ , ...n ] ))di mana, server mengidentifikasi sebuah instans server yang menghosting replika sekunder yang hanya bisa dibaca dalam grup ketersediaan.
Misalnya:
PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('Server1','Server2'))Nota
Anda harus mengatur URL routing baca-saja sebelum mengonfigurasi daftar routing baca-saja.
Contoh (Transact-SQL)
Contoh berikut ini memodifikasi dua replika ketersediaan dari grup ketersediaan yang ada, AG1 untuk mendukung perutean baca-saja jika salah satu dari replika ini memiliki peran utama pada saat ini. Untuk mengidentifikasi instans server yang menghosting replika ketersediaan, contoh ini menentukan nama instans-COMPUTER01 dan COMPUTER02.
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON
N'COMPUTER01' WITH
(SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON
N'COMPUTER01' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER01.contoso.com:1433'));
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON
N'COMPUTER02' WITH
(SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON
N'COMPUTER02' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER02.contoso.com:1433'));
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON
N'COMPUTER01' WITH
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER02','COMPUTER01')));
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON
N'COMPUTER02' WITH
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER01','COMPUTER02')));
GO
Menggunakan PowerShell
Untuk Mengonfigurasi perutean baca-saja
Nota
Untuk contoh kode, lihat Contoh (PowerShell), nanti di bagian ini.
Atur default (
cd) ke instans server yang menghosting replika utama.Saat menambahkan replika ketersediaan ke dalam grup ketersediaan, gunakan
New-SqlAvailabilityReplicacmdlet. Saat memodifikasi replika ketersediaan yang ada, gunakanSet-SqlAvailabilityReplicacmdlet . Parameter yang relevan adalah sebagai berikut:Untuk mengonfigurasi perutean baca-saja untuk peran sekunder, tentukan parameter ReadonlyRoutingConnectionUrl""
url.di mana, url adalah nama domain yang memenuhi syarat secara penuh (FQDN) dan port yang digunakan saat merutekan ke replika untuk koneksi baca-saja. Misalnya:
-ReadonlyRoutingConnectionUrl "TCP://DBSERVER8.manufacturing.Adventure-Works.com:7024"Untuk informasi selengkapnya, lihat Menghitung read_only_routing_url untuk AlwaysOn.
Untuk mengonfigurasi akses koneksi untuk peran utama, tentukan ReadonlyRoutingList"
server" [ , ...n ], di mana server mengidentifikasi instans server yang menghosting replika sekunder baca-saja dalam grup ketersediaan. Misalnya:-ReadOnlyRoutingList "SecondaryServer","PrimaryServer"Nota
Anda harus mengatur URL perutean hanya-baca dari replika sebelum menyetel daftar perutean hanya-baca.
Nota
Untuk melihat sintaks cmdlet, gunakan
Get-Helpcmdlet di lingkungan PowerShell SQL Server. Untuk informasi selengkapnya, lihat Mendapatkan Bantuan SQL Server PowerShell.
Untuk menyiapkan dan menggunakan penyedia PowerShell SQL Server, lihat Penyedia PowerShell SQL Server dan Mendapatkan Bantuan SQL Server PowerShell.
Contoh (PowerShell)
Contoh berikut mengonfigurasi replika utama dan satu replika sekunder dalam grup ketersediaan untuk pengarahan baca-saja. Pertama, contoh menetapkan URL perutean baca-saja ke setiap replika. Kemudian mengatur daftar perutean baca-saja pada replika utama. Koneksi dengan properti "ReadOnly" yang diatur dalam string koneksi akan dialihkan ke replika sekunder. Jika replika sekunder ini tidak dapat dibaca (seperti yang ditentukan oleh ConnectionModeInSecondaryRole pengaturan), koneksi akan diarahkan kembali ke replika utama.
Set-Location SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MyAg
$primaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
$secondaryReplica = Get-Item "AvailabilityReplicas\SecondaryServer"
Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://PrimaryServer.domain.com:1433" -InputObject $primaryReplica
Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://SecondaryServer.domain.com:1433" -InputObject $secondaryReplica
Set-SqlAvailabilityReplica -ReadOnlyRoutingList "SecondaryServer","PrimaryServer" -InputObject $primaryReplica
Tindak Lanjut: Setelah Mengonfigurasi perutean Read-Only
Setelah replika utama saat ini dan replika sekunder yang dapat dibaca dikonfigurasi untuk mendukung pengarahan-baca-saja dalam kedua peran, replika sekunder yang dapat dibaca dapat menerima permintaan koneksi dengan niat membaca dari klien yang terhubung melalui availability group listener.
Petunjuk / Saran
Saat menggunakan Utilitas bcp atau Utilitas sqlcmd, Anda dapat menentukan akses baca-saja ke replika sekunder apa pun yang diaktifkan untuk akses baca-saja dengan menentukan -K ReadOnly sakelar.
Persyaratan dan Rekomendasi untuk Klien Connection-Strings
Agar aplikasi klien dapat menggunakan perutean baca-saja, string koneksinya harus memenuhi persyaratan berikut:
Gunakan protokol TCP.
Atur atribut/properti niat aplikasi ke readonly.
Rujuk pendengar dari grup ketersediaan yang sudah dikonfigurasi untuk mendukung perutean baca-saja.
Mereferensikan database dalam grup ketersediaan tersebut.
Selain itu, kami merekomendasikan agar string koneksi mengaktifkan failover multi-subnet, yang mendukung thread klien paralel untuk setiap replika pada setiap subnet. Ini meminimalkan waktu koneksi ulang klien setelah failover.
Sintaks untuk string koneksi bergantung pada penyedia SQL Server yang digunakan aplikasi. Contoh string koneksi berikut untuk Penyedia Data .NET Framework 4.0.2 untuk SQL Server menjelaskan bagian string koneksi yang diperlukan dan direkomendasikan agar berfungsi untuk perutean baca-saja.
Server=tcp:MyAgListener,1433;Database=Db1;IntegratedSecurity=SSPI;ApplicationIntent=ReadOnly;MultiSubnetFailover=True
Untuk informasi lebih lanjut mengenai tujuan aplikasi baca-saja dan perutean baca-saja, silakan lihat Pendengar Grup Ketersediaan, Konektivitas Klien, dan Failover Aplikasi (SQL Server).
Jika perutean Read-Only Tidak Berfungsi dengan Benar
Untuk informasi tentang pemecahan masalah konfigurasi perutean baca-saja, lihat peruteanRead-Only Tidak Berfungsi Dengan Benar.
Tugas Terkait
Untuk melihat konfigurasi perutean baca-saja
sys.daftar_pengaturan_routing_hanya_baca_availability (Transact-SQL)
sys.availability_replicas (Transact-SQL) (kolom read_only_routing_url )
Untuk mengonfigurasi akses koneksi klien
Membuat atau Mengonfigurasi Availability Group Listener (SQL Server)
Mengonfigurasi Akses Baca-Saja pada Replika Ketersediaan (SQL Server)
Untuk menggunakan string koneksi dalam aplikasi
Dukungan Klien Asli SQL Server untuk Ketersediaan Tinggi, Pemulihan Bencana
Menggunakan Kata Kunci String Koneksi dengan Klien Asli SQL Server
Isi Terkait
Blog:
Menghitung read_only_routing_url untuk AlwaysOn
Blog Tim SQL Server AlwaysOn: Blog resmi Tim SQL Server AlwaysOn
Laporan resmi:
Lihat Juga
Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Sekunder Aktif: Replika Sekunder yang Dapat Dibaca (Grup Ketersediaan AlwaysOn)
Tentang Akses Koneksi Klien ke Replika Ketersediaan (SQL Server)
Listener Grup Ketersediaan, Konektivitas Klien, dan Kegagalan Aplikasi (SQL Server)