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.
Always On kullanılabilirlik gruplarında kullanılabilirlik modu , belirli bir kullanılabilirlik çoğaltmasının zaman uyumlu işleme modunda çalıştırılıp çalıştırılamayacağını belirleyen bir çoğaltma özelliğidir. Her kullanılabilirlik çoğaltması için kullanılabilirlik modu zaman uyumlu işleme modu, zaman uyumsuz işleme veya yalnızca yapılandırma modu için yapılandırılmalıdır.
Birincil çoğaltma zaman uyumsuz işleme modu için yapılandırılmışsa, herhangi bir ikincil çoğaltmanın gelen işlem günlüğü kayıtlarını diske yazmasını beklemez ( günlüğü sağlamlaştırmak için).
Belirli bir ikincil çoğaltma zaman uyumsuz işleme modu için yapılandırılmışsa, birincil çoğaltma söz konusu ikincil çoğaltmanın günlüğü sağlamlaştırmasını beklemez. Hem birincil çoğaltma hem de belirli bir ikincil çoğaltma zaman uyumlu işleme modu için yapılandırılmışsa, birincil çoğaltma, ikincil çoğaltmanın günlüğü sağlamlaştırdığını onaylamasını bekler (ikincil çoğaltma birincil çoğaltmanın oturum zaman aşımı süresi içinde birincil çoğaltmaya ping atamadığı sürece).
Uyarı
Eşzamanlı taahhüt ikincil çoğaltması, birincil çoğaltmanın oturum zaman aşımı süresini (varsayılan olarak 10 saniyedir) aşarsa, birincil çoğaltma bu ikincil çoğaltmadaki her veritabanının eşitleme durumunu ve çoğaltma durumunu geçici olarak NOT SYNCHRONIZING ve NOT_HEALTHY olarak işaretler. İkincil çoğaltma birincil çoğaltmayla yeniden bağlandığında zaman uyumlu işleme modunu sürdürür.
Desteklenen kullanılabilirlik modları
Always On kullanılabilirlik grupları üç kullanılabilirlik modunu destekler:
- Zaman uyumsuz kaydetme modu
- Zaman uyumlu işleme modu
- Yalnızca yapılandırma modu
Zaman uyumsuz işlem modu, erişilebilirlik kopyaları önemli mesafelere dağıtıldığında iyi çalışan bir felaket kurtarma çözümüdür. Her ikincil çoğaltma zaman uyumsuz işleme modunda çalışıyorsa, birincil çoğaltma ikincil çoğaltmaların hiçbirinin günlüğü sağlamlaştırmasını beklemez. Bunun yerine, günlük kaydını yerel günlük dosyasına yazdıktan hemen sonra, birincil replikasyon istemciye işlem onayını gönderir. Birincil replika, asenkron commit modu için yapılandırılmış ikincil replika ile karşılaştırıldığında en düşük işlem gecikmesine sahip şekilde çalışır.
Geçerli birincil, zaman uyumsuz işlem tamamlama kullanılabilirlik modu için yapılandırılmışsa, tek tek kullanılabilirlik modu ayarlarından bağımsız olarak tüm ikincil çoğaltmalar için işlemleri zaman uyumsuz olarak tamamlar.
Daha fazla bilgi için bu makalenin devamındaAsynchronous-Commit Kullanılabilirlik Modu'nu inceleyin.
Eşzamanlı işleme modu, performanstan ödün vererek artan işlem gecikmesi pahasına yüksek kullanılabilirliği ön plana çıkarır. Zaman uyumlu işleme modu altında, ikincil çoğaltma günlüğü diske sağlamlaştırana kadar işlemler istemciye işlem onayını göndermeyi bekler. İkincil veritabanında veri senkronizasyonu başladığında, ikincil replika ilgili birincil veritabanından gelen günlük kayıtlarını almaya ve uygulamaya başlar. Her kayıt sağlamlaştırıldıktan hemen sonra, ikincil veritabanı SYNCHRONIZED durumuna girer. Bundan sonra, günlük kaydı yerel günlük dosyasına yazılmadan önce her yeni işlem ikincil çoğaltma tarafından sağlamlaştırılır. Belirtilen ikincil çoğaltmanın tüm ikincil veritabanları eşitlendiğinde, eş zamanlı işleme modu el ile yük devretmeyi ve isteğe bağlı olarak otomatik yük devretmeyi destekler.
Daha fazla bilgi için bu makalenin devamındaSynchronous-Commit Kullanılabilirlik Modu'nu inceleyin.
Yalnızca yapılandırma modu , Windows Server Yük Devretme Kümesinde olmayan kullanılabilirlik grupları için geçerlidir. Yalnızca yapılandırma modundaki bir çoğaltma kullanıcı verilerini içermez. Yalnızca yapılandırma modunda, çoğaltma master veritabanı kullanılabilirlik grubu yapılandırma meta verilerini depolar. Daha fazla bilgi için bkz. kullanılabilirlik grubu yapılandırmaları için yüksek kullanılabilirlik ve veri koruması.
Aşağıdaki çizimde beş kullanılabilirlik replikası olan bir kullanılabilirlik grubu gösterilmektedir. Birincil kopya ve bir ikincil kopya, otomatik hata yönetimi ile senkron yedekleme modu için yapılandırılır. Başka bir ikincil çoğaltma, yalnızca planlanmış manuel yük devretme ile zaman uyumlu işleme modu için yapılandırılırken, iki ikincil çoğaltma, genellikle "zorlamalı yük devretme" olarak adlandırılan, yalnızca zorlamalı manuel yük devretmeyi destekleyen zaman uyumsuz işleme modu için yapılandırılmıştır.
İki kullanılabilirlik replikası arasındaki senkronizasyon ve yük devretme davranışı, her iki replikanın kullanılabilirlik moduna bağlıdır. Örneğin, zaman uyumlu işlemenin gerçekleşmesi için hem birincil çoğaltmanın hem de ikincil çoğaltmanın zaman uyumlu işleme için yapılandırılması gerekir. Aynı şekilde otomatik yük devretme için her iki çoğaltmanın da otomatik yük devretme için yapılandırılması gerekir. Bu nedenle, daha önce gösterilen dağıtım senaryosunun davranışı, olası her birincil çoğaltmanın davranışını inceleyen aşağıdaki tabloda özetlenebilir:
| Geçerli birincil replikası | Otomatik yük devretme hedefleri | Zaman uyumlu bağlama modu davranışı | Asenkron-commit mod davranışı | Otomatik yük devretme mümkün |
|---|---|---|---|---|
| 01 | 02 | 02 ve 03 | 04 | Evet |
| 02 | 01 | 01 ve 03 | 04 | Evet |
| 03 | 01 ve 02 | 04 | Hayı | |
| 04 | 01, 02 ve 03 | Hayı |
Genellikle, node 04 zaman uyumsuz işleme çoğaltması olarak bir olağanüstü durum kurtarma sitesinde dağıtılır. Node 04'e yük devredildikten sonra Düğüm 01, 02 ve 03 düğümlerinin zaman uyumsuz işleme modunda kalması, iki site arasındaki yüksek ağ gecikme süresi nedeniyle kullanılabilirlik grubunuzda olası performans düşüşünü önlemeye yardımcı olur.
Asenkron-işlem tamamlama kullanılabilirlik modu
Asenkron işleme modunda, ikincil kopya hiçbir zaman birincil kopyayla eşitlenmez. Belirli bir ikincil veritabanı ilgili birincil veritabanını yakalayabilse de, herhangi bir ikincil veritabanı herhangi bir noktada geri kalabilir. Zaman uyumsuz işleme modu, birincil çoğaltmanın ve ikincil çoğaltmanın önemli bir uzaklık ile ayrıldığı ve küçük hataların birincil çoğaltmayı etkilemesini istemediğiniz veya performansın eşitlenmiş veri korumasından daha önemli olduğu durumlarda olağanüstü durum kurtarma senaryosunda yararlı olabilir. Ayrıca, birincil çoğaltma ikincil çoğaltmadan gelen bildirimleri beklemediğinden, ikincil çoğaltmadaki sorunlar birincil çoğaltmayı hiçbir zaman etkilemez.
Asenkron taahhütlü ikincil çoğaltma, birincil çoğaltmadan alınan günlük kayıtlarını takip etmeye çalışır. Ancak zaman uyumsuz taahhüt ikincil veritabanları her zaman eşitlenmemiş kalır ve muhtemelen ilgili birincil veritabanlarının biraz gerisinde kalır. Genellikle zaman uyumsuz işleme ikincil veritabanı ile buna karşılık gelen birincil veritabanı arasındaki boşluk küçüktür. Ancak ikincil çoğaltmayı barındıran sunucu aşırı yüklendiyse veya ağ yavaşsa boşluk önemli ölçüde artabilir.
Zaman uyumsuz bağlanma modu tarafından desteklenen tek yük devretme şekli, olası bir veri kaybıyla zorlamalı yük devretmedir. Yük devretmeyi zorlamak, yalnızca geçerli birincil çoğaltmanın uzun süre kullanılamaz durumda kalacağı ve birincil veritabanlarının hemen kullanılabilirliğinin olası veri kaybı riskinden daha kritik olduğu durumlar için amaçlanan son çaredir. Yük devretme hedefi, rolü SECONDARY veya RESOLVING durumunda olan bir çoğaltma olmalıdır. Yük devretme hedefi birincil role geçişler ve veritabanlarının kopyaları birincil veritabanı olur. Eski birincil veritabanları ve kalan tüm ikincil veritabanları, kullanılabilir duruma geldikten sonra, siz bunları manuel olarak tek tek devreye alana kadar askıya alınır. Asenkron işlem onayı modunda, ilk birincil çoğaltmanın henüz eski ikincil çoğaltmaya göndermediği tüm işlem günlükleri kaybolur. Bu, yeni birincil veritabanlarının bazılarının veya tümünün yakın zamanda kaydedilmiş işlemlerden yoksun olabileceği anlamına gelir. Zorlamalı yük devretmenin nasıl çalıştığı ve bunu kullanmaya yönelik en iyi yöntemler hakkında daha fazla bilgi için bkz. Yük Devretme ve Yük Devretme Modları (Her Zaman Açık Kullanılabilirlik Grupları).
Zaman uyumlu işleme kullanılabilirlik modu
Zaman uyumlu bağlılık kullanılabilirlik modu (zaman uyumlu-işleme modu) altında, bir kullanılabilirlik grubuna katıldığında ikincil veritabanı, ilgili birincil veritabanını yakalar ve SYNCHRONIZED durumuna girer. veri eşitlemesi devam ettikçe ikincil veritabanı kalır SYNCHRONIZED . Bu, belirli bir birincil veritabanında işlenen her işlemin ilgili ikincil veritabanında işlenmesini garanti eder. Belirli bir ikincil çoğaltmadaki her ikincil veritabanı eşitlendiğinde, ikincil çoğaltmanın bir bütün olarak senkronizasyon sağlık durumu HEALTHY şeklindedir.
Bu bölümde:
- Veri eşitlemeyi kesintiye uğrayan faktörler
- İkincil çoğaltmada eşitleme nasıl çalışır?
- Yalnızca el ile yük devretmelerde eş zamanlı onaylama modu
- Otomatik yük devretme ile eşzamanlı taahhüt modu
Veri eşitlemeyi kesintiye uğrayan faktörler
Tüm veritabanları eşitlendikten sonra, ikincil çoğaltma duruma girer HEALTHY . Aşağıdakilerden biri gerçekleşirse eşzamanlı ikincil kopya iyi durumda olmaya devam eder:
Ağ veya bilgisayar gecikmesi veya arızası, ikincil çoğaltma ile birincil çoğaltma arasındaki oturumun zaman aşımına uğramasına yol açar.
Uyarı
Kullanılabilirlik çoğaltmalarının oturum süresi özelliği hakkında bilgi için bkz . AlwaysOn kullanılabilirlik grubu nedir?
İkincil çoğaltmada ikincil veritabanını askıya alırsınız. İkincil çoğaltma eşitlemeyi durdurur ve eşitleme sağlık durumu NOT_HEALTHY olarak işaretlenir. Askıya alınan ikincil veritabanı sürdürülene ve yeniden eşitlenene veya kullanılabilirlik grubundan kaldırılana kadar ikincil çoğaltma yeniden iyi duruma gelmez.
Kullanılabilirlik grubuna birincil veritabanı eklersiniz. Daha önce eşitlenmiş ikincil çoğaltmalar eşitleme-sağlık durumuna girer
NOT_HEALTHY. Bu durum, en az bir veritabanınınNOT SYNCHRONIZINGeşitleme durumunda olduğunu gösterir. Karşılık gelen bir ikincil veritabanı çoğaltma üzerinde hazırlanana, kullanılabilirlik grubuna katılana ve yeni birincil veritabanıyla senkronize edilene kadar belirli bir ikincil çoğaltmaHEALTHYolarak tekrar çalıştırılamaz.Birincil çoğaltmayı veya ikincil çoğaltmayı zaman uyumsuz işleme kullanılabilirlik moduna değiştirirsiniz. Zaman uyumsuz işleme moduna geçtikten sonra, veri eşitlemesi devam ettikçe ikincil çoğaltma eşitleme durumu durumunda kalır
HEALTHY. Ancak, yalnızca birincil çoğaltma asenkron işleme moduna değiştirilirse, senkron işleme ikincil çoğaltmasıPARTIALLY_HEALTHYeşitleme sağlık durumuna girer. Bu durum, en az bir veritabanınınSYNCHRONIZINGeşitleme durumunda olduğunu, ancak veritabanlarının hiçbirininNOT SYNCHRONIZINGdurumunda olmadığını gösterir.Herhangi bir ikincil çoğaltmayı eşzamanlı taahhüt kullanılabilirlik modu olarak değiştirirsiniz. Bu, tüm veritabanları
PARTIALLY_HEALTHYeşitleme durumunda olana kadar ikincil çoğaltmanınSYNCHRONIZEDeşitleme-sağlık durumu olarak işaretlenmesine neden olur.
İpucu
Kullanılabilirlik grubu, kullanılabilirlik çoğaltması ya da kullanılabilirlik veritabanının eşitleme sağlığını görüntülemek için, sırasıyla synchronization_health, synchronization_health_desc veya sys.dm_hadr_database_replica_states tablolarının ya da sütununu sorgulayın.
İkincil çoğaltmada eşitleme nasıl çalışır?
Eşzamanlı işleme modunda, ikincil bir çoğaltma kullanılabilirlik grubuna katıldıktan ve birincil çoğaltma ile bir oturum oluşturduktan sonra:
- İkincil kopya, gelen günlük kayıtlarını diske yazar (günlüğü sağlamlaştırır).
- İkincil çoğaltma, birincil çoğaltmaya bir onay iletisi gönderir.
İkincil veritabanındaki sağlamlaştırılmış günlük, birincil veritabanındaki günlüğün sonuna ulaştığında, ikincil veritabanının durumu olarak SYNCHRONIZED ayarlanır.
Eşitleme için gereken süre, ikincil veritabanının oturum başlangıcında birincil veritabanının ne kadar gerisinde olduğuna bağlıdır. Bu delta, birincil çoğaltmadan başlangıçta alınan günlük kayıtlarının sayısı, birincil veritabanındaki iş yükü ve ikincil çoğaltmanın örnek konağı hızıyla ölçülür.
İşlem süreci
Zaman uyumlu işleme modunda, işlemler her iki çoğaltmaya da şu sırayla işlenir:
Birincil yedek bir istemciden bir işlem alır.
Birincil çoğaltma, kaydı işlem günlüğüne yazar ve günlük kaydını ikincil çoğaltmalara eşzamanlı olarak gönderir.
Bir günlük kaydı birincil veritabanının işlem günlüğüne yazıldıktan sonra, yalnızca henüz işlem günlüğünü almamış olan ikincil bir veritabanına yük devredildiğinde işlem geri alınabilir.
Birincil çoğaltma, zaman uyumlu işleme ikincil çoğaltmasından onay bekler.
İkincil kopya, logu sağlamlaştırarak birincil kopyaya bir onay iletir.
Birincil kopya işlemi tamamlar ve istemciye bir onay mesajı gönderir.
Eşzamanlı taahhüt zaman aşımı
Eşzamanlı taahhüt ikincil replikası, günlüğü kalıcı hale getirdiğini onaylamadan zaman aşımına uğrarsa, kullanılabilirlik grubunda şu adımlar atılır:
- Birincil replikasyon, ikincil replikasyonu başarısız olarak işaretler.
- İkincil çoğaltma durumu
DISCONNECTEDolarak değişir. - Birincil onay beklemeyi durdurur.
- Kullanılabilirlik grubu eşitleme durumu olarak
NOT SYNCHRONIZINGve çoğaltma durumu olarakNOT_HEALTHYişaretler.
Bu davranış, başarısız bir zaman uyumlu işleme ikincil çoğaltmasının birincil çoğaltmada günlük sağlamlaştırmayı engellememesini sağlar.
İkincil kopya yeniden çevrimiçi olduğunda:
- İkincil çoğaltma durumu
CONNECTEDolarak değişir. - İkincil kopya, birincil kopyanın günlük gönderim kuyruğunu işler.
- Eşitleme durumu
SYNCHRONIZING'e, çoğaltma sağlığı isePARTIALLY_HEALTHY'e geçiyor.
Günlük gönderme kuyruğu işlendikten sonra eşitleme durumu SYNCHRONIZED olur ve çoğaltma sağlığı HEALTHY olur.
Eşzamanlı taahhüt modu, işlemin gecikmesi süresini bir ölçüde artırma karşılığında verilerin iki yer arasında senkronize edilmesini zorunlu kılarak verilerinizi korur.
Yalnızca el ile yük devretme ile zaman uyumlu işleme modu
Bu kopyalar bağlandığında ve veritabanı eşitlendiğinde elle geçiş desteklenir. İkincil replika çalışmayı durdurursa birincil replika etkilenmez. Birincil çoğaltıcı, SYNCHRONIZED kopyaları yoksa (yani, herhangi bir ikincil kopyaya veri göndermeden) açık şekilde çalışır. Birincil çoğaltma kaybolursa, ikincil çoğaltmalar RESOLVING durumuna girer, ancak veritabanı sahibi ikincil çoğaltmaya yük devretmeye zorlayabilir (olası veri kaybıyla). Daha fazla bilgi için bkz. Yük Devretme ve Yük Devretme Modları (Always On Kullanılabilirlik Grupları)
Otomatik yük devretme ile eşzamanlı taahhüt modu
Otomatik failover, birincil replikayı kaybettikten sonra veritabanının hızla tekrar erişilebilir hale getirilmesini sağlayarak yüksek erişilebilirlik sunar. Bir erişilebilirlik grubunu otomatik yük devretme için yapılandırmak amacıyla, hem mevcut birincil replikayı hem de en az bir ikincil replikayı otomatik yük devretmeyi destekleyen eşzamanlı taahhüt moduna ayarlamanız gerekir. SQL Server 2019 (15.x), SQL Server 2017'de (14.x) 3 olan zaman uyumlu çoğaltma sayısının üst sınırını 5'e yükseltti. Beş çoğaltmadan oluşan bu grubu, grupta otomatik yük devretme olacak şekilde yapılandırabilirsiniz. Bir birincil replika ve dört eşzamanlı ikincil replika vardır.
Ayrıca, belirli bir zamanda otomatik yük devretmenin mümkün olması için, bu ikincil çoğaltma birincil çoğaltmayla eşitlenmelidir (yani, ikincil veritabanlarının tümü eşitlenir) ve Windows Server Yük Devretme Kümelemesi (WSFC) kümesinde yeterli çoğunluk bulunmalıdır. Birincil çoğaltma sunucusu bu koşullar altında kullanılamaz duruma gelirse, otomatik yük devretme işlemi gerçekleşir. İkincil çoğaltma birincil rolüne geçer ve veritabanını birincil veritabanı olarak sunar. Daha fazla bilgi için "Otomatik Yük Devretme" bölümüne, Yük Devretme ve Yük Devretme Modları (Always On Kullanılabilirlik Grupları) makalesinde bakın.
Uyarı
WSFC çoğunluk ve her zaman açık kullanılabilirlik grupları hakkında bilgi için bkz. WSFC Çoğunluk Modları ve Oylama Yapılandırması (SQL Server).
İkincil çoğaltmada veri gecikme süresi
Salt okunur iş yükleriniz bazı veri gecikme sürelerini tolere edebilirse ikincil çoğaltmalara salt okunur erişim uygulamak yararlı olur. Veri gecikme süresinin kabul edilemez olduğu durumlarda, salt okunur iş yüklerini birincil çoğaltmada çalıştırmayı göz önünde bulundurun.
Birincil çoğaltma, birincil veritabanındaki değişikliklerin günlük kayıtlarını ikincil çoğaltmalara gönderir. Her ikincil veritabanında, ayrılmış bir yineleme iş parçacığı günlük kayıtlarını uygular. Okuma erişimli ikincil veritabanında, değişikliği içeren günlük kaydı ikincil veritabanına uygulanana ve işlem birincil veritabanına işlenene kadar, belirli bir veri değişikliği sorgu sonuçlarında görünmez.
Bu, birincil ve ikincil çoğaltmalar arasında genellikle yalnızca birkaç saniyelik bir gecikme süresi olduğu anlamına gelir. Ancak olağan dışı durumlarda, örneğin ağ sorunları aktarım hızını azaltırsa gecikme süresi önemli hale gelebilir. G/Ç performans sorunları oluştuğunda ve veri taşıma askıya alındığında gecikme süresi artar. Askıya alınmış veri hareketini izlemek için Always On Kullanılabilirlik Grubu göstergesini (SQL Server Management Studio) veya sys.dm_hadr_database_replica_states dinamik yönetim görünümünü kullanabilirsiniz.
SQL Server 2025 (17.x) ve sonraki sürümlerde gecikme süresini azaltmak için, birincil çoğaltmanın ikincil çoğaltmaya işlem uygulamak için aldığı süreyi (milisaniye cinsinden) azaltabilirsiniz. Daha fazla bilgi için bkz . Sunucu yapılandırması: kullanılabilirlik grubu işleme süresi (ms).
Kullanılabilirlik modunu ve yük devretme modunu değiştirmek için
- Always On kullanılabilirlik grubu içindeki bir kopyanın kullanılabilirlik modunu değiştirme
- AlwaysOn kullanılabilirlik grubu içindeki bir çoğaltma için yük devretme modunu değiştirme
Oy çoğunluğunu ayarlamak için
- Küme Çoğunluk Düğüm Ağırlığı Ayarlarını Görüntüle
- Küme Çekirdeği Düğüm Sıklık Ayarlarını Yapılandırma
- WSFC Kümesini Çoğunluk Olmadan Başlatmaya Zorla
El ile yük devretme gerçekleştirmek için
- SQL Server Always On kullanılabilirlik grubunun planlı el ile yük devretmesini gerçekleştirme
- Always On Kullanılabilirlik Grubu (SQL Server) İçin Zorunlu El ile Yük Devretme Gerçekleştirme
- Yük Devretme Kullanılabilirlik Grubu Sihirbazı'nı (SQL Server Management Studio) kullanma
Kullanılabilirlik grubunu, kullanılabilirlik çoğaltmasını ve veritabanı durumlarını görüntülemek için
- sys.dm_hadr_availability_group_states
- sys.dm_hadr_availability_replica_states
- sys.dm_hadr_database_replica_states
İlgili içerik
- Yüksek Kullanılabilirlik ve Olağanüstü Durum Kurtarma için Microsoft SQL Server Always On Çözümleri Kılavuzu
- SQL Server Always On Takım Blogu: Resmi SQL Server Always On Takım Blogu
- Always On kullanılabilirlik grubu nedir?
- Yük Devretme ve Yük Devretme Modları (Her Zaman Açık Kullanılabilirlik Grupları)
- SQL Server ile Windows Server Yük Devretme Kümelemesi