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.
Varsayılan olarak, birincil çoğaltmaya hem okuma-yazma hem de okuma amaçlı erişime izin verilir ve bir Always On kullanılabilirlik grubunun ikincil çoğaltmalarına bağlantıya izin verilmez. Bu konuda, SQL Server Management Studio, Transact-SQL veya PowerShell kullanarak SQL Server'da bir Always On kullanılabilirlik grubunun kullanılabilirlik çoğaltmasında bağlantı erişiminin nasıl yapılandırılacağı açıklanmaktadır.
İkincil çoğaltma için salt okunur erişimi etkinleştirmenin etkileri ve bağlantı erişimine giriş için bkz. Kullanılabilirlik Çoğaltmalarına İstemci Bağlantısı Erişimi (SQL Server) ve Etkin İkinciller: Okunabilir İkincil Çoğaltmalar (Her Zaman Açık Kullanılabilirlik Grupları).
Önkoşullar ve Kısıtlamalar
- Farklı bağlantı erişimi yapılandırmak için birincil çoğaltmayı barındıran sunucu örneğine bağlı olmanız gerekir.
İzinler
| Görev | İzinler |
|---|---|
| Kullanılabilirlik grubu oluştururken çoğaltmaları yapılandırmak için | Sysadmin sabit sunucu rolünde üyelik 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. |
SQL Server Management Studio'yu kullanma
Kullanılabilirlik çoğaltması üzerinde erişimi yapılandırma
Nesne Gezgini'nde, birincil çoğaltmayı barındıran sunucu örneğine bağlanın ve sunucu ağacını genişletin.
Always On Yüksek Kullanılabilirlik düğümünü ve Kullanılabilirlik Grupları düğümünü genişletin.
Çoğaltmasını değiştirmek istediğiniz kullanılabilirlik grubuna tıklayın.
Kullanılabilirlik çoğaltmasına sağ tıklayın ve Özellikler'e tıklayın.
Kullanılabilirlik Çoğaltma Özellikleri iletişim kutusunda, birincil rol ve ikincil rol için bağlantı erişimini aşağıdaki gibi değiştirebilirsiniz:
İkincil rol için Okunabilir ikincil bırakma listesinden aşağıdaki gibi yeni bir değer seçin:
Hayır
Bu çoğaltmanın ikincil veritabanlarına kullanıcı bağlantılarına izin verilmemektedir. Okuma erişimine açık değildir. Bu varsayılan ayardır.Yalnızca okuma amacı
Bu çoğaltmanın ikincil veritabanlarına yalnızca salt okunur bağlantılara izin verilir. İkincil veritabanlarının tümü okuma erişimi için kullanılabilir.Evet
Bu çoğaltmanın ikincil veritabanlarına tüm bağlantılara izin verilir, ancak yalnızca okuma erişimi için. İkincil veritabanlarının tümü okuma erişimi için kullanılabilir.Birincil rol için, aşağıdaki gibi Birincil roldeki bağlantılar açılır listesinden yeni bir değer seçin:
Tüm bağlantılara izin ver
Birincil çoğaltmadaki veritabanlarına yapılan tüm bağlantılara izin verilir. Bu varsayılan ayardır.Okuma/yazma bağlantılarına izin ver
Uygulama Amacı özelliği ReadWrite olarak ayarlandığında veya Uygulama Amacı bağlantı özelliği ayarlanmadığında, bağlantıya izin verilir. Uygulama Amacı bağlantı özelliğinin ReadOnly olarak ayarlandığı bağlantılara izin verilmez. Bu, müşterilerin okuma amaçlı iş yükünü yanlışlıkla birincil çoğaltmaya bağlamasını önlemeye yardımcı olabilir. Uygulama Amacı bağlantı özelliği hakkında daha fazla bilgi için bkz. SQL Server Yerel İstemcisi ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma.
Transact-SQL Kullanımı
Bir kullanılabilirlik çoğaltmasında erişimi yapılandırma
Note
Bu yordamın bir ö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 bir çoğaltma belirtiyorsanız, CREATE AVAILABILITY GROUP Transact-SQL deyimini kullanın. Mevcut bir kullanılabilirlik grubunun çoğaltmasını ekliyor veya değiştiriyorsanızTransact-SQL deyimini ALTER AVAILABILITY GROUP kullanın.
İkincil rol için bağlantı erişimini 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 ( ALLOW_CONNECTIONS = { HAYIR | READ_ONLY | ALL } )
nerede
HAYIR
Bu çoğaltmadaki ikincil veritabanlarına doğrudan bağlantıya izin verilmez. Okuma erişimine açık değildirler. Bu varsayılan ayardır.READ_ONLY
Bu replikanın ikincil veritabanlarına yalnızca salt okunur bağlantılara izin verilir. İkincil veritabanlarının tümü okuma erişimi için kullanılabilir.TÜMÜ
Bu çoğaltmanın ikincil veritabanlarına yapılan tüm bağlantılara izin verilir, ancak yalnızca okuma erişimi için. İkincil veritabanlarının tümü okuma erişimi için kullanılabilir.
Birincil rol için bağlantı erişimini 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 ( ALLOW_CONNECTIONS = { READ_WRITE | ALL } )
nerede
READ_WRITE
Uygulama Amacı bağlantı özelliğinin ReadOnly olarak ayarlandığı bağlantılara izin verilmez. Uygulama Amacı özelliği ReadWrite olarak ayarlandığında veya Uygulama Amacı bağlantı özelliği ayarlanmadığında, bağlantıya izin verilir. Uygulama Amacı bağlantı özelliği hakkında daha fazla bilgi için bkz. SQL Server Yerel İstemcisi ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma.TÜMÜ
Birincil çoğaltmadaki veritabanlarına yapılan tüm bağlantılara izin verilir. Bu varsayılan ayardır.
Örnek (Transact-SQL)
Aşağıdaki örnek AG2 adlı bir kullanılabilirlik grubuna ikincil çoğaltma ekler. Yeni kullanılabilirlik çoğaltmasını barındırmak için COMPUTER03\HADR_INSTANCE tek başına sunucu örneği belirtilir. Bu replika, birincil rol için yalnızca okuma-yazma bağlantılarına ve ikincil rol için yalnızca okuma amaçlı bağlantılara izin verecek şekilde yapılandırıldı.
ALTER AVAILABILITY GROUP AG2
ADD REPLICA ON
'COMPUTER03\HADR_INSTANCE' WITH
(
ENDPOINT_URL = 'TCP://COMPUTER03:7022',
PRIMARY_ROLE ( ALLOW_CONNECTIONS = READ_WRITE ),
SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY )
);
GO
PowerShell’i kullanma
Bir kullanılabilirlik çoğaltmasında erişimi yapılandırma
Note
Kod örneği için bu bölümün devamında yer alan Örnek (PowerShell) bölümüne bakın.
Dizini (cd) birincil çoğaltmayı barındıran sunucu örneğiyle değiştirin.
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 bağlantı erişimini yapılandırmak için ConnectionModeInSecondaryRolesecondary_role_keyword parametresini belirtin; burada secondary_role_keyword aşağıdaki değerlerden birine eşittir:
AllowNoConnections
İkincil çoğaltmadaki veritabanlarına doğrudan bağlantılara izin verilmez ve veritabanları okuma erişimi için kullanılamaz. Bu varsayılan ayardır.AllowReadIntentConnectionsOnly
Yalnızca Uygulama Amacı özelliğinin ReadOnly olarak ayarlandığı ikincil çoğaltmadaki veritabanlarına bağlantılara izin verilir. Bu özellik hakkında daha fazla bilgi için bkz. SQL Server Yerel İstemcisi ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma.AllowAllConnections
Salt okunur erişim için ikincil replikadaki veritabanlarına yapılan tüm bağlantılara izin verilir.Birincil rol için bağlantı erişimini yapılandırmak için ConnectionModeInPrimaryRoleprimary_role_keyword belirtin; burada primary_role_keyword aşağıdaki değerlerden birine eşittir:
Okuma/Yazma Bağlantılarına İzin Ver
Uygulama Amacı bağlantı özelliğinin ReadOnly olarak ayarlandığı bağlantılara izin verilmez. Uygulama Amacı özelliği ReadWrite olarak ayarlandığında veya Uygulama Amacı bağlantı özelliği ayarlanmadığında, bağlantıya izin verilir. Uygulama Amacı bağlantı özelliği hakkında daha fazla bilgi için bkz. SQL Server Yerel İstemcisi ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma.AllowAllConnections
Birincil çoğaltmadaki veritabanlarına yapılan tüm bağlantılara izin verilir. Bu varsayılan ayardır.
Note
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ı Al.
SQL Server PowerShell sağlayıcısını ayarlamak ve kullanmak için
Örnek (PowerShell)
Aşağıdaki örnek, ConnectionModeInSecondaryRole ve ConnectionModeInPrimaryRole parametrelerinin her ikisini de AllowAllConnections olarak ayarlar.
Set-Location SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MyAg
$primaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole "AllowAllConnections" `
-InputObject $primaryReplica
Set-SqlAvailabilityReplica -ConnectionModeInPrimaryRole "AllowAllConnections" `
-InputObject $primaryReplica
İzleme: Kullanılabilirlik Çoğaltması için Read-Only Erişimi Yapılandırdıktan Sonra
Okunabilir ikincil replikaya salt okunur erişim
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 uygulamalarının okunabilir ikincil çoğaltmalara bağlanmasını sağlamak için:
| Ön koşul | Link |
|---|---|
| Kullanılabilirlik grubunun bir dinleyiciye sahip olduğundan emin olun. | Kullanılabilirlik Grubu Dinleyicisi Oluşturma veya Yapılandırma (SQL Server) |
| Kullanılabilirlik grubu için salt okunur yönlendirmeyi yapılandırın. | Kullanılabilirlik Grubu için Read-Only Yönlendirmeyi Yapılandırma (SQL Server) |
Yük devretme sonrasında tetikleyicileri ve görevleri etkileyebilecek faktörler
Okunamayan bir ikincil veritabanında veya okunabilir bir ikincil veritabanında çalıştıklarında başarısız olacak tetikleyicileriniz ve işleriniz varsa, veritabanının birincil mi yoksa okunabilir bir ikincil veritabanı mı olduğunu belirlemek için, tetikleyicileri ve işleri belirli bir replikayı denetleyecek şekilde betiklemeniz gerekir. Bu bilgileri almak için DATABASEPROPERTYEX işlevini kullanarak veritabanının Updateability özelliğini döndürebilirsiniz. Salt okunur veritabanını tanımlamak için, değer olarak aşağıdaki gibi READ_ONLY belirtin:
DATABASEPROPERTYEX([db name],'UpdateAbility') = N'READ_ONLY'
Okuma-yazma veritabanını tanımlamak için değer olarak READ_WRITE belirtin.
İlgili Görevler
Kullanılabilirlik Grubu için Read-Only Yönlendirmeyi Yapılandırma (SQL Server)
Kullanılabilirlik Grubu Dinleyicisi Oluşturma veya Yapılandırma (SQL Server)
İlgili İçerik
Always On: Okunabilir İkincil'i etkinleştirdim ama sorgum neden engelleniyor?
Always On: Raporlama iş yükünü ikincil replikada çalıştırdığınızda birincil iş yüküne etkisi
Always On: Raporlama iş yükünü Okunabilir İkincil’den Anlık Görüntü Yalıtımı’na eşleştirmenin etkisi
Ayrıca Bkz.
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