Kuyruğa alınmış güncelleştirme çakışma algılaması ve Çözümlemesi

Kuyruğa alınmış güncelleştirme abonelikleri izin aynı verileri birden fazla yerde yapılan değişiklikler nedeniyle olabilir çakışma yayımcı veri eşitlendiğinde. Çoğaltma çakışmaları algılar ve değişiklikleri yayımcı ile eşitlenmiş ve yayın oluştururken seçtiğiniz çözümleme İlkesi'ni kullanarak bu çakışmaları giderir. Aşağıdaki çakışmaları ortaya çıkabilir:

  • Güncelleme ve çakışmaları yerleştirin. Bu çakışma, iki yerde aynı verileri değiştirildiğinde oluşur. Bir WINS değiştirin ve diğeri kaybeder.

  • Çakışmaları silin. Bu çakışma oluşur, aynı satırda bir konumda silindi ve diğer değiştirildi.

Çakışma algılaması ve Çözümlemesi çok zaman ve kaynak yoğun bir süreç olabilir; Bu nedenle, böylece farklı aboneleri farklı alt kümeleri veri değiştirme, veri bölümleri oluşturarak uygulama çakışmalarını en aza indirmek en iyisidir.

Çakışma algılama

Ne zaman bir yayın oluşturma ve etkinleştirme sıraya güncelleştirme, çoğaltma ekler bir benzersiztanıtıcı sütunu (msrepl_tran_version) ile varsayılan newid için temel tablo. Yayımcı veya abone yayımlanmış veri değiştirildiğinde, satırın yeni bir satır sürüm var olduğunu gösteren yeni bir genel benzersiz tanımlayıcı (GUID) alır. Sıra Okuyucu Aracısı bu sütun eşitleme sırasında çakışma olup olmadığını belirlemek için kullanır.

Sırasındaki bir hareket, eski ve yeni satır sürüm değerlerini korur. Hareket için yayımcı adresindeki uygulandığında, işlem GUID'leri ve yayın GUID karşılaştırılır. Hareket içinde saklanan eski GUID GUID yayında eşleşirse, yayın güncelleştirilir ve satır abone tarafından oluşturulan yeni GUID atanır. GUID işlem yayın güncelleştirerek, satır sürümleri yayın ve işlem eşleştirme vardır.

Hareket içinde saklanan eski GUID GUID yayında eşleşmezse, bir çakışma algılandı. Yayındaki yeni GUID iki farklı satır sürümleri bulunduğunu gösterir: bir hareketin abone ve yayımcı üzerinde bulunan yeni bir teslim ediliyor. Bu abone hareket eşitlendi: önce bu durumda başka bir abone veya Publisher yayını aynı satır güncelleştirildi.

Birleştirme çoğaltması, tersine GUID sütun kullanımı satırı tanımlamak için kullanılmaz, ancak satır değişip değişmediğini kontrol etmek için kullanılır.

Çakışmaları çözme

Kuyruğa alınmış güncelleştirme kullanarak bir yayın oluşturduğunuzda, bir çakışma çözümleyici çakışmaları algılanırsa kullanılmak üzere seçin. Çakışma çözümleyici sıra Okuyucu Aracısı eşitleme sırasında aynı satırdaki farklı sürümlerinin nasıl işleyeceğini belirler. Çakışma çözümleme ilkesi var olduğu sürece hiçbir yayın abonelikleri yayını oluşturduktan sonra değiştirebilirsiniz. Çakışma çözümleyici seçenekleri şunlardır:

  • Publisher wins (varsayılan)

  • Publisher wins ve abonelik yeniden

  • Abone wins

Çakışma kaydedilir ve Çakışma Görüntüleyici kullanılarak görüntülenebilir.

Kuyruğa alınmış güncelleştirme çakışma çözümleme ilkesi ayarlamak için

Veri çakışmaları görüntülemek için

Publisher Wins

Publisher wins çakışma çözünürlüğü ayarladığınızda, işlem tutarlılığı yayımcı verileri esas tutulur. Bunu başlatan abone çakışan hareket döndürülüyor.

Sıra Okuyucu Aracısı bir çakışma saptanır ve compensating komutları oluşturulan ve abone dağıtım veritabanında göndererek yayılır. Dağıtım Aracısı sonra compensating komutları çakışan Hareketin kaynağı abone için geçerlidir. Compensating eylemleri abone yayımcı satırları eşleştirmek için satırları güncelleştir.

Compensating komutları uygulanan kadar sonunda abone adresindeki geri alınır bir hareketin sonuçları okumak mümkündür. Bu kirli okuma (read UNCOMMITTED yalıtım düzeyi) için eşdeğerdir. Orada hiçbir tazminat işlemlerinde oluşabilecek sonraki bağımlı. Ancak, işlem sınırları onur ve işlem içindeki tüm eylemleri taahhüt veya çakışması durumunda, geri alındı.

Publisher Wins ve abonelik yeniden

Çakışmaları abone katı işlem tutarlılık korur ancak yayını büyük miktarda veri içeriyorsa, o zaman alıcı olabilir çözmek için Abone reinitializing.

Sıra Okuyucu Aracısı çakışma algıladığında, kalan hareketleri: (işlem çatışma dahil) sıra reddedilir ve abone reinitialization için işaretlenmiş. Yayın için oluşturulan sonraki anlık görüntü abone dağıtım aracısı tarafından uygulanır.

Abone Wins

Çakışma algılama abone WINS ilkesi altında Publisher WINS güncelleştirme son abone hareketi anlamına gelir. Bu durumda, bir çakışma algılandığında, abone tarafından gönderilen hareket hala kullanılmaktadır ve yayımcı güncelleştirilir. Bu ilke, nerede bu tür değişikliklerin veri bütünlüğü-uzlaşma değil uygulamalar için uygundur.

Ayrıca bkz.

Kavramlar

Işlem çoğaltma için güncelleştirilebilir abonelikleri