Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQL Server'da salt okunur yönlendirmeyi destekleyecek bir Always On kullanılabilirlik grubu yapılandırmak için Transact-SQL veya PowerShell kullanabilirsiniz. Salt okunur yönlendirme, SQL Server'ın uygun salt okunur bağlantı taleplerini, kullanılabilir bir Always On okunabilir ikincil replikaya (yani, ikincil rolde çalışırken salt okunur iş yüklerine izin verecek şekilde yapılandırılmış bir replikaya) yönlendirme yeteneğini ifade eder. Salt okunur yönlendirmeyi desteklemek için kullanılabilirlik grubunun bir kullanılabilirlik grubu dinleyicisine sahip olması gerekir. Salt okunur istemcilerin bağlantı isteklerini bu dinleyiciye yönlendirmesi ve istemcinin bağlantı dizelerinin uygulama amacını "salt okunur" olarak belirtmesi gerekir. Diğer bir ifadeyle, okuma amaçlı bağlantı istekleri olmalıdır.
Salt okunur yönlendirme SQL Server 2016 (13.x) ve sonraki sürümlerde kullanılabilir.
Uyarı
Okunabilir bir ikincil çoğaltmayı yapılandırma hakkında bilgi için bkz. Erişilebilirlik Çoğaltmasında (SQL Server) Read-Only Erişimini Yapılandırma.
Önkoşullar
Kullanılabilirlik grubunun muhakkak bir dinleyicisi olmalıdır. Daha fazla bilgi için bkz. Kullanılabilirlik Grubu Dinleyicisi (SQL Server) Oluşturma veya Yapılandırma.
Bir veya daha fazla kullanılabilirlik çoğaltması, ikincil rolde yalnızca okunabilir olacak şekilde (okunabilir ikincil çoğaltmalar) yapılandırılmalıdır. Daha fazla bilgi için bkz. SQL Server'da Kullanılabilirlik Replikasında Read-Only Erişimi Yapılandırma.
Geçerli birincil kopyayı barındıran sunucu örneğine bağlı olmanız gerekir.
SQL Oturum Açma bilgileri kullanıyorsanız hesabın doğru yapılandırıldığından emin olun. Daha fazla bilgi için bkz. Kullanılabilirlik Grubu Veritabanları (SQL Server) için Oturum Açma ve İş Yönetimi.
Read-Only Yönlendirmesini Desteklemek için Hangi Replika Özelliklerini Yapılandırmanız Gerekiyor?
Salt okunur yönlendirmeyi destekleyen her okunabilir ikincil çoğaltma için bir salt okunur yönlendirme URL'si belirtmeniz gerekir. Bu URL yalnızca yerel çoğaltma ikincil rol altında çalışırken geçerlilik kazanır. Salt okunur yönlendirme URL'si, gerektiği gibi her bir çoğaltma için ayrı ayrı belirtilmelidir. Her salt okunur yönlendirme URL'si, okuma amacı bağlantı isteklerini belirli bir okunabilir ikincil çoğaltmaya yönlendirmek için kullanılır. Genellikle, her okunabilir ikincil kopyaya salt okunur yönlendirme URL'si atanır.
Kullanılabilirlik çoğaltması için salt okunur yönlendirme URL'sinin hesaplanması hakkında bilgi için bkz Always On için read_only_routing_url hesaplama
Birincil çoğaltma olduğunda salt okunur yönlendirmeyi desteklemek istediğiniz her kullanılabilirlik çoğaltması için bir salt okunur yönlendirme listesi belirtmeniz gerekir. Belirli bir salt okunur yönlendirme listesi yalnızca yerel çoğaltma birincil rol altında çalışırken geçerlilik kazanır. Bu liste, gerektiğinde, her çoğaltma için ayrı ayrı belirtilmelidir. Genellikle, her salt okunur yönlendirme listesi, tüm salt okunur yönlendirme URL'lerini ve listenin sonunda yerel çoğaltmanın URL'sini içerir.
Uyarı
Okuma amacıyla yapılan bağlantı istekleri, mevcut birincil replikadan salt okunur yönlendirme listesindeki ilk uygun girişe yönlendirilir. Ancak, salt okunur çoğaltmalar arasında yük dengeleme yapılabilir. Daha fazla bilgi için salt okunur çoğaltmalar arasında yük dengelemeyi yapılandırın kısmına bakın.
Uyarı
Kullanılabilirlik grubu dinleyicileri ve salt okunur yönlendirme hakkında daha fazla bilgi için bkz. Kullanılabilirlik Grubu Dinleyicileri, İstemci Bağlantısı ve Uygulama Yük Devretme (SQL Server).
İzinler
| Görev | İzinler |
|---|---|
| Kullanılabilirlik grubu oluştururken çoğaltmaları yapılandırmak için | sysadmin sabit sunucu rolü üyeliği ve CREATE AVAILABILITY GROUP sunucu izni, ALTER ANY AVAILABILITY GROUP izni veya CONTROL SERVER izni gerektirir. |
| Kullanılabilirlik çoğaltmasını değiştirmek için | Kullanılabilirlik grubu üzerinde ALTER AVAILABILITY GROUP izni, CONTROL AVAILABILITY GROUP izni, ALTER ANY AVAILABILITY GROUP izni veya CONTROL SERVER izni gerektirir. |
Transact-SQL Kullanımı
Salt okunur bir yönlendirme listesini yapılandırın.
Transact-SQL kullanarak salt okunur yönlendirmeyi yapılandırmak için aşağıdaki adımları kullanın. Kod örneği için bu bölümün devamında yer alan Örnek (Transact-SQL) bölümüne bakın.
Birincil replikayı çalıştıran sunucu örneğine bağlanın.
Yeni bir kullanılabilirlik grubu için çoğaltma belirtiyorsanız CREATE AVAILABILITY GROUP Transact-SQL deyimini kullanın. Mevcut bir kullanılabilirlik grubu için bir kopya ekliyor veya değiştiriyorsanız ALTER AVAILABILITY GROUP Transact-SQL deyimini kullanın.
İkincil rol için salt okunur yönlendirmeyi yapılandırmak için, ADD REPLICA veya MODIFY REPLICA WITH yan tümcesinde aşağıdaki gibi SECONDARY_ROLE seçeneğini belirtin:
SECONDARY_ROLE ( READ_ONLY_ROUTING_URL ='TCP://sistem-adresi:port')
Salt okunur yönlendirme URL'sinin parametreleri aşağıdaki gibidir:
sistem adresi
Sistem adı, tam etki alanı adı veya IP adresi gibi hedef bilgisayar sistemini kesin olarak tanımlayan bir dizedir.bağlantı noktası
SQL Server örneğinin Veritabanı Altyapısı tarafından kullanılan bir bağlantı noktası numarasıdır.Örneğin:
SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER01.contoso.com:1433')MODIFY REPLICA yan tümcesinde, replika zaten salt okunur bağlantılara izin verecek şekilde yapılandırılmışsa ALLOW_CONNECTIONS isteğe bağlı hale gelir.
Daha fazla bilgi için bkz Always On için read_only_routing_url Hesaplama.
Birincil rol için salt okunur yönlendirmeyi yapılandırmak için, ADD REPLICA veya MODIFY REPLICA WITH yan tümcesinde aşağıdaki gibi PRIMARY_ROLE seçeneğini belirtin:
PRIMARY_ROLE ( READ_ONLY_ROUTING_LIST =('server' [ ,... n ] ))
burada, sunucu, kullanılabilirlik grubunda salt okunur bir ikincil replikayı barındıran bir sunucu örneğini tanımlar.
Örneğin:
PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('Server1','Server2'))Uyarı
Salt okunur yönlendirme listesini yapılandırmadan önce salt okunur yönlendirme URL'sini ayarlamanız gerekir.
Salt okunur çoğaltmalar arasında yük dengelemeyi yapılandırma
SQL Server 2016(13.x) sürümünden başlayarak, bir dizi salt okunur çoğaltmada yük dengelemeyi yapılandırabilirsiniz. Daha önce salt okunur yönlendirme, trafiği her zaman yönlendirme listesindeki kullanılabilir ilk çoğaltmaya yönlendirdi. Bu özellikten yararlanmak için CREATE AVAILABILITY GROUP veya ALTER AVAILABILITY GROUP komutlarındaki READ_ONLY_ROUTING_LIST sunucu örneklerinin etrafında iç içe yerleştirilmiş bir parantez düzeyi kullanın.
Örneğin, aşağıdaki yönlendirme listesi, okuma amaçlı bağlantı isteğini iki salt okunur çoğaltma arasında yük dengeler, Server1 ve Server2. Bu sunucuları çevreleyen iç içe parantezler yük dengeli kümeyi tanımlar. O kümede hiçbir çoğaltma yoksa, bu durumda salt okunur yönlendirme listesinde sırasıyla diğer çoğaltmalara Server3 ve Server4 bağlanmayı dener.
READ_ONLY_ROUTING_LIST = (('Server1','Server2'), 'Server3', 'Server4')
Yönlendirme listesindeki her girişin, yük dengeli salt okunur çoğaltma kümesi olabileceğini unutmayın. Aşağıdaki örnekte bunu gösterilmiştir.
READ_ONLY_ROUTING_LIST = (('Server1','Server2'), ('Server3', 'Server4', 'Server5'), 'Server6')
Yalnızca bir iç içe parantez katmanı desteklenir.
Örnek (Transact-SQL)
Aşağıdaki örnek, AG1 bu çoğaltmalardan biri şu anda birincil role sahipse salt okunur yönlendirmeyi desteklemek için mevcut bir kullanılabilirlik grubunun iki kullanılabilirlik çoğaltmasını değiştirir. Sunucu örneklerini tanımlamak için, kullanılabilirlik çoğaltmasını barındıran bu örnek, COMPUTER01 ve COMPUTER02 örnek adlarını belirtir.
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
PowerShell'i kullanma
Salt okunur bir yönlendirme listesini yapılandırın.
PowerShell kullanarak salt okunur yönlendirmeyi yapılandırmak için aşağıdaki adımları kullanın. Kod örneği için bu bölümün devamında yer alan Örnek (PowerShell) bölümüne bakın.
Varsayılan (cd) değerini birincil çoğaltmayı barındıran sunucu örneğine ayarlayın.
Kullanılabilirlik grubuna kullanılabilirlik çoğaltması eklerken New-SqlAvailabilityReplica cmdlet'ini kullanın. Mevcut kullanılabilirlik çoğaltmasını değiştirirken Set-SqlAvailabilityReplica cmdlet'ini kullanın. İlgili parametreler şunlardır:
İkincil rol için salt okunur yönlendirmeyi yapılandırmak için ReadonlyRoutingConnectionUrl"url" parametresini belirtin.
burada , url , salt okunur bağlantılar için çoğaltmaya yönlendirme sırasında kullanılacak bağlantı tam etki alanı adı (FQDN) ve bağlantı noktasıdır. Örneğin:
-ReadonlyRoutingConnectionUrl "TCP://DBSERVER8.manufacturing.Adventure-Works.com:7024"Daha fazla bilgi için bkz Always On için read_only_routing_url Hesaplama.
Birincil rol için bağlantı erişimini yapılandırmak için ReadonlyRoutingList"server" [ ,... n] girin, burada server erişilebilirlik grubunda salt okunur ikincil çoğaltmayı barındıran bir sunucu örneğini tanımlar. Örneğin:
-ReadOnlyRoutingList "SecondaryServer","PrimaryServer"Uyarı
Bir çoğaltmanın salt okunur yönlendirme listesini yapılandırmadan önce salt okunur yönlendirme URL'sini ayarlamanız gerekir.
Uyarı
Bir cmdlet'in söz dizimini görüntülemek için SQL Server PowerShell ortamındaki Get-Help cmdlet'ini kullanın. Daha fazla bilgi için bkz. SQL Server PowerShell Yardım Alma.
SQL Server PowerShell sağlayıcısını ayarlama ve kullanma
Örnek (PowerShell)
Aşağıdaki örnek, bir kullanılabilirlik grubu içinde salt okunur yönlendirme için bir birincil replikayı ve bir ikincil replikayı yapılandırır. İlk olarak, örnek her çoğaltmaya salt okunur bir yönlendirme URL'si atar. Ardından birincil çoğaltmadaki salt okunur yönlendirme listesini ayarlar. Bağlantı dizesinde ayarlanan "ReadOnly" özelliğine sahip bağlantılar ikincil çoğaltmaya yeniden yönlendirilir. Bu ikincil çoğaltma okunabilir değilse ( ConnectionModeInSecondaryRole ayarı tarafından belirlendiği gibi), bağlantı birincil çoğaltmaya geri yönlendirilir.
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
İzleme: Read-Only Yönlendirmeyi Yapılandırdıktan Sonra
Geçerli birincil çoğaltma ve okunabilir ikincil çoğaltmalar her iki rolde de salt okunur yönlendirmeyi destekleyecek şekilde yapılandırıldıktan sonra, okunabilir ikincil çoğaltmalar kullanılabilirlik grubu dinleyicisi aracılığıyla bağlanan istemcilerden okuma amaçlı bağlantı istekleri alabilir.
Tavsiye
bcp Yardımcı Programı veya sqlcmd Yardımcı Programı'nı kullanırken, -K ReadOnly anahtarını belirterek salt okunur erişim için etkinleştirilen tüm ikincil çoğaltmalara salt okunur erişim belirtebilirsiniz.
İstemci Connection-Strings için Gereksinimler ve Öneriler
İstemci uygulamasının salt okunur yönlendirme kullanması için, bağlantı dizesinin aşağıdaki gereksinimleri karşılaması gerekir:
TCP protokollerini kullanın.
Uygulama amacı özniteliğini/özelliğini salt okunur olarak ayarlayın.
Yalnızca okunabilir yönlendirmeyi destekleyecek şekilde yapılandırılmış bir kullanılabilirlik grubu dinleyicisine başvurun.
Bu kullanılabilirlik grubundaki bir veritabanına başvurun.
Buna ek olarak, bağlantı dizelerinin her alt ağda her çoğaltma için paralel istemci iş parçacığını destekleyen çok alt ağ geçişini etkinleştirmenizi öneririz. Bu, yük devretmeden sonra istemci yeniden bağlanma süresini en aza indirir.
Bağlantı dizesinin söz dizimi, bir uygulamanın kullandığı SQL Server sağlayıcısına bağlıdır. SQL Server için .NET Framework Veri Sağlayıcısı 4.0.2 için aşağıdaki örnek bağlantı dizesi, bağlantı dizesinin salt okunur yönlendirme için çalışması gereken ve önerilen bölümlerini gösterir.
Server=tcp:MyAgListener,1433;Database=Db1;IntegratedSecurity=SSPI;ApplicationIntent=ReadOnly;MultiSubnetFailover=True
Salt okunur uygulama amacı ve salt okunur yönlendirme hakkında daha fazla bilgi için bkz. Kullanılabilirlik Grubu Dinleyicileri, İstemci Bağlantısı ve Uygulama Yük Devretme (SQL Server).
Read-Only Yönlendirme Düzgün Çalışmıyorsa
Salt okunur yönlendirme yapılandırması sorunlarını giderme hakkında bilgi için bkz. Read-Only Yönlendirme Düzgün Çalışmıyor.
Varsayılan yönlendirme davranışına geri dönme
SQL Server 2025 (17.x) sürümünden itibaren, kullanılabilirlik çoğaltması için belirtilen yönlendirmeyi geri almak ve trafiği varsayılan davranışa göre yönlendirmek üzere NONE veya READ_WRITE_ROUTING_URL'i READ_ONLY_ROUTING_URL hedefi olarak belirtebilirsiniz. Daha fazla bilgi edinmek için ALTER AVAILABILITY GROUP Transact-SQL komutunu gözden geçirin.
Sonraki Adımlar
Sadece okunabilir yönlendirme yapılandırmalarını görüntüleme
sys.availability_replicas (Transact-SQL) (read_only_routing_url sütunu)
İstemci bağlantısı erişimini yapılandırmak için
Kullanılabilirlik Grubu Dinleyicisi Oluşturma veya Yapılandırma (SQL Server)
Kullanılabilirlik Çoğaltmasında Read-Only Erişimini Yapılandırma (SQL Server)
Uygulamalarda bağlantı dizelerini kullanmak için
Yüksek Kullanılabilirlik, Olağanüstü Durum Kurtarma için SQL Server Yerel İstemci Desteği
SQL Server Yerel İstemcisi ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma
Blogları:
SQL Server Always On Team Bloglarını : Resmi SQL Server Always On Team Blog
Ek içerik
Always On Kullanılabilirlik Grupları (SQL Server) Genel Bakış
Etkin İkinciller: Okunabilir İkincil Çoğaltmalar (AlwaysOn Kullanılabilirlik Grupları)
Erişilebilirlik Replikalarına İstemcinin Bağlantı Erişimi (SQL Server) Hakkında
Kullanılabilirlik Grubu Dinleyicileri, İstemci Bağlantısı ve Uygulama Yük Devretme (SQL Server)