Çekirdek: Tanığın veritabanı kullanılabilirliğini nasıl etkilediğini (veritabanı yansıtma)

Şunlar için geçerlidir: SQL Server

Veritabanı yansıtma oturumu için bir tanık ayarlandığında çoğunluk gerekir. Oyçokluğu, veritabanı yansıtma oturumunda iki veya daha fazla sunucu örneğinin birbirine bağlı olduğu bir ilişkidir. Kvorum genellikle birbirine bağlanmış üç sunucu örneğinden oluşur. Bir tanık ayarlandığında, veritabanını kullanılabilir hale getirmek için çoğunluk gereklidir. Otomatik yük devretme ile yüksek güvenlik modunda çalışacak şekilde tasarlanan quorum, veritabanının aynı anda yalnızca bir iş ortağına ait olmasını sağlar.

Belirli bir sunucu örneğinin yansıtma oturumundan bağlantısı kesilirse, bu örnek çoğunluk kaybeder. Hiçbir sunucu örneği bağlı değilse, oturum yeter sayıyı kaybeder ve veritabanı kullanılamaz duruma gelir. Üç tür çoğunluk mümkündür:

  • Tam toplantı yeter sayısı hem ortakları hem de tanığı içerir.

  • Tanık-ortak çoğunluğu, tanık ve herhangi bir ortağı içerir.

  • İş ortakları arası çoğunluk, iki iş ortağından oluşur.

Aşağıdaki şekilde bu quorum türleri gösterilmektedir.

Oy yeter sayısı: tam; tanık ve ortak; her iki ortak

Mevcut ana sunucuda yeterli sayı olduğu sürece, bu sunucu ana sunucu rolünü üstlenir ve veritabanı sahibi manuel bir yük devretme yapmadıkça veritabanına hizmet etmeye devam eder. Ana sunucu çoğunluğu kaybederse, veritabanını sunmayı durdurur. Otomatik yük devretme yalnızca asıl veritabanının çekirdeğini kaybettiğinde gerçekleşebilir ve bu da artık veritabanına hizmet vermediğini garanti eder.

Bağlantısı kesilmiş bir sunucu örneği, oturumdaki en son rolünü kaydeder. Genellikle, bağlantısı kesilmiş bir sunucu örneği, yeniden başlatıldığında ve çoğunluğu yeniden kazandığında oturuma yeniden bağlanır.

Önemli

Yüksek güvenlik modunu otomatik yük devretme işlemiyle kullanmayı amaçladığınızda tanık yalnızca o zaman ayarlanmalıdır. Tanığın hiçbir zaman gerekli kılınmadığı yüksek performanslı modda WITNESS özelliğini KAPALI olarak ayarlamanızı kesinlikle öneririz. Tanığın yüksek performanslı mod üzerindeki etkisi hakkında bilgi için bkz. Veritabanı Yansıtma İşletim Modları.

Yüksek Güvenlik Modu Oturumlarında Oyçokluğu

Yüksek güvenlik modunda çoğunluk, çoğunluk sağlayan sunucu örneklerinin en kritik rolün kime ait olduğunu belirlediği bir bağlam sağlayarak otomatik yük devretmeye olanak tanır. Asıl sunucu, quorum varsa veritabanına hizmet eder. Eşitlenen yansıtma sunucusu ve tanık çoğunluğu koruduğunda, asıl sunucu çoğunluğu kaybederse otomatik yük devretme gerçekleşir.

Yüksek güvenlik modu için çoğunluk senaryoları aşağıdaki gibidir:

  • Hem eşlerden hem de bir tanıktan oluşan tam bir kvorum.

    Normalde, üç sunucu örneği tam çoğunluk olarak adlandırılan üç yönlü bir çoğunlukta yer alır. Tam çoğunlukla, ana ve yansıtma sunucuları (el ile yük devretme gerçekleşmediği sürece) ilgili rollerini gerçekleştirmeye devam eder.

  • Tanık ve ortaklardan biri ile oluşan bir tanık-iş ortağı quorum.

    İş ortaklarından biri kaybolduğundan iş ortakları arasındaki ağ bağlantısı kaybolursa aşağıdaki durumlar mümkündür:

    • Yansıtma sunucusu kayboldu ve asıl sunucu ile tanık çoğunluğu korur.

      Bu durumda, sorumlu veritabanını DISCONNECTED olarak ayarlar ve askıda durumunda yansıtma ile çalışır. (Veritabanı şu anda yansıtılmadığından bu, korumasız çalıştırma olarak adlandırılır.) Yansıtma sunucusu oturuma yeniden katıldığında, sunucu yansıtma olarak çoğunluğunu yeniden kazanır ve veritabanının kopyasını yeniden eşitlemeye başlar.

    • Ana sunucu kaybolur ve tanık ile yansıtma sunucusu çoğunluğu korur.

      Bu durumda, otomatik yük devretme gerçekleşir. Daha fazla bilgi için bkz. Veritabanı Yansıtma İşletim Modları.

    • Tüm sunucu örnekleri çoğunluğu kaybeder, ancak daha sonra ayna ve tanık yeniden bağlanır. Bu durumda veritabanı sunulmaz.

    Her iki iş ortağı da tanıkla bağlantılı kalırken yük devretme ortakları arasındaki ağ bağlantısı nadiren kaybolur. Bu durumda, tanığın bir aracı olarak rol aldığı iki ayrı tanık-ortak kvorumu bulunmaktadır. Tanık, yansıtma sunucusuna asıl sunucunun hala bağlı olduğunu bildirir. Bu nedenle, otomatik yük devretme gerçekleşmez. Bunun yerine ayna sunucusu ayna rolünü korur ve ana sunucuya yeniden bağlanmayı bekler. Yineleme kuyruğu bu noktada günlük kayıtları içeriyorsa yansıtma sunucusu yansıtma veritabanını ileriye doğru almaya devam eder. Yeniden bağlandığınızda yansıtma sunucusu yansıtma veritabanını yeniden eşitler.

  • İki iş ortağından oluşan iş ortağı arasında quorum.

    İş ortakları çıkını koruduğu sürece veritabanı EŞITLENMIŞ durumda devam eder ve el ile yük devretme mümkün olmaya devam eder. Tanık olmadan otomatik yük devretme mümkün değildir; ancak tanık çoğunluğu yeniden kurulduğunda oturum normal işlemlerine devam eder ve otomatik yük devretme yine desteklenir.

  • Oturum çoğunluğunu kaybeder.

    Tüm sunucu örneklerinin bağlantısı kesilirse oturumun çoğunluk kaybı olduğu söylenir. Sunucu örnekleri birbirine yeniden bağlandıkça, birbirleriyle yeniden çoğunluk sağlarlar.

    • Asıl sunucu diğer sunucu örneklerinden biriyle yeniden bağlanırsa veritabanı kullanılabilir duruma gelir.

    • Asıl sunucu bağlantısız kalırsa, ancak yansıtma ve tanık birbirine yeniden bağlanırsa, veri kaybı olabileceğinden otomatik yük devretme gerçekleşemez. Bu nedenle, asıl sunucu oturuma yeniden katılıncaya kadar veritabanı kullanılamaz durumda kalır.

    • Üç sunucu örneğinin tümü de yeniden bağlandığında, tam çoğunluk geri kazanılır ve oturum normal işleyişine devam eder.

Önemli

Bir oturumda iş ortakları arasında çoğunluk olduğunda, iki iş ortağından biri çoğunluğu kaybederse, oturum da çoğunluğunu kaybeder. Bu nedenle, tanığın bağlantısının çok fazla süreyle kesilmesini bekliyorsanız, tanığı oturumdan geçici olarak kaldırmanızı öneririz. Tanık bileşenin kaldırılması, yeter sayı gerekliliğini ortadan kaldırır. Ardından yansıtma sunucusunun bağlantısı kesilirse, asıl sunucu veritabanına hizmet etmeye devam edebilir. Tanık ekleme veya kaldırma hakkında bilgi için bkz. Veritabanı Yansıtma Tanığı.

Quorum, Veritabanı Kullanılabilirliğini Nasıl Etkiler?

Aşağıdaki çizimde, tanığın ve iş ortaklarının, belirli bir zamanda yalnızca bir iş ortağının sorumlu rolüne sahip olduğundan ve veritabanını yalnızca geçerli asıl sunucunun çevrimiçi duruma getirediğinden emin olmak için nasıl işbirliği yaptığı gösterilmektedir. Her iki senaryo da tam çoğunluk ile başlar ve baş rolde Partner_A ve ayna rolünde Partner_B.

Tanık ve ortaklar nasıl işbirliği yapılır

Senaryo 1, özgün asıl sunucu (Partner_A) başarısız olduktan sonra tanık ve ayna sunucu, Partner_A asıl sunucunun artık kullanılamadığını kabul eder ve çoğunluk oluşturur. Yansıtma , Partner_B sonra asıl rolü kabul eder. Otomatik yük devretme gerçekleşir ve Partner_B veritabanının kopyasını çevrimiçi hale getirir. Sonra Partner_B kapanır ve veritabanı çevrimdışı olur. Daha sonra, eski asıl sunucu Partner_A, yeter sayıdaki tanıkla yeniden bağlanarak çekirdek elde eder. Ancak, tanıkla iletişim kurarken Partner_A, veritabanının kopyasını çevrimiçine getiremeyeceğini öğrenir, çünkü artık asıl rol Partner_B'ye aittir. Partner_B oturuma yeniden katıldığınızda veritabanı yeniden çevrimiçi olur.

Senaryo 2'de tanık çoğunluğunu kaybederken, iş ortakları Partner_A ve Partner_B ise çoğunluğu birbirleriyle korur ve veritabanı çevrimiçi kalır. Ardından iş ortakları da çoğunluklarını kaybeder ve veritabanı çevrimdışına geçer. Daha sonra asıl sunucu Partner_A, çoğunluğu yeniden elde eden tanık ile yeniden bağlanır. Tanık, Partner_A'nin hala asıl rolü üstlendiğini doğrular ve Partner_A veritabanını tekrar çevrimiçi hale getirir.

Ayrıca Bkz.

Veritabanı Yansıtma İşletim Modları
Veritabanı Yansıtma Oturumu Sırasında Rol Değiştirme (SQL Server)
Veritabanı Yansıtma Tanığı
Veritabanı Yansıtma Sırasında Olası Hatalar
Yansıtma Durumları (SQL Server)