Sorun: Daima Kullanılabilirlik Grubundaki (AG) tüm sunucularda Dağıtılmış İşlem Düzenleyicisi'ni (DTC) nasıl çalıştırabilirim? Yük devretme / değiştirme olayları üzerinde işlemleri sürdürmem GEREKMEZ.
Kurulum: SQL Server çalıştıran üç Windows 2008 R2 sunucusuna sahip bir Windows Yük Devretme Kümesi (WSFC) var. İki sunucu bir veri merkezinde ve üçüncü sunucu açıkken AlwaysOn Yük Devretme Kümesi'nin (FCI) bir parçası ikinci bir veri merkezi. WSFC, çok alt ağlı bir kümedir. İşte kurulumun bir taslağı:
Aynı alt ağda ve paylaşım deposunda oldukları için DTC'yi iki FCI düğümü arasında çalışacak şekilde yükleyip yapılandırabildim. Birkaç AG yapılandırdım ve iyi çalışıyorlar. Bu ekran görüntüsü, FCI'da yüklü DTC'yi gösterir:
Bu ekran görüntüsü, (hangisi etkinse) FCI düğümlerinden birinde DTC'yi yapılandırabileceğimi gösterir:
DTC kullanan bir uygulamayı bu kümeye geçirmek ve AG kullanmak istiyorum. DTC'nin AG'lerle desteklenmediğini okudum ( Referans ). İkinci veri merkezindeki üçüncü düğümde DTC'yi yapılandırmanın bir yolunu bulamadım. Üçüncü düğümde DTC'yi yapılandırmaya çalıştığımda, bu ekran görüntüsünde gösterildiği gibi kullanılamıyor gibi görünüyor:
Brent Ozar'ın Kullanılabilirlik Grupları için Ücretsiz Kurulum Kontrol Listesi PDF'sinde şunları listeler:
Küme Kurulumu ...
29. Bir FCI söz konusuysa, DTC'yi Planlama bölümü kararlarınıza göre yapılandırın.
Üzerinde yorumlarında SQL Server 2012 AlwaysOn kullanılabilirlik grupları Kaya Brent AGS oyunda olduğunda "... hiç bir değişiklik olduğunu söyler. Bir başka çoğaltma için birlikte üzerinde başarısız olduğunda bir Durumu Grubundaki veritabanları işlem tutarlılığı desteklemeyen unutmayın. .."
Bu, işlemlerin AG geçişinde sürdürülmeyeceğini anladığınız sürece DTC'nin Kullanılabilirlik Gruplarında kullanılabileceğini gösterir. FCI düğümlerinden işlemleri sürdürmek için buna ihtiyacım olmayacaktı. Sadece bir felaket durumunda (birincil veri merkezimi kaybettiğim) kullanmak için uygulamanın DTC'sine ihtiyacım var.
Üçüncü düğümümde DTC'yi nasıl yapılandırabilirim? Yoksa, AG'leri ve DTC'ye ihtiyaç duyan bir uygulamayı kullanma konusunda şansımın olmaması mı?
GÜNCELLEME: Yerleştirdiğim çözüm, Log Shipping'i kullanmaktır. Ancak, bir arıza durumunda, Düğüm3'te hala DTC'nin olması gerekir. Düğüm1 ve Düğüm2 arasında paylaşılan DTC kümelenmiş MSDTC-MSSQLSERVERCLU örneğini kaldırarak kullanılabilir hale geldiğini keşfettim. Kaldırıldıktan sonra, Düğüm3 üzerinde bir LocalDTC örneği ayarlayabilir ve yapılandırabilirim. Daha sonra kümelenmiş MSDTC-MSSQLSERVERCLU örneğini yeniden yükleyebilirim. Yükleme sırasını bu sırayla yapmak işe yarıyor gibi görünüyor. Bir süredir böyle koşuyorum ve herhangi bir kötü etki keşfetmedim. Bunun, AlwaysOn Kullanılabilirlik Grubu'nu çalıştırmak için de işe yarayacağı anlaşılıyor. Dağıtılmış işlemlerin AG yük devretmesinde korunmayacağını, yük devretmeden sonra çalışmak için yeni işlemlere ihtiyacım olacağını anlıyorum. Ama ben '