Algılama ve mantıksal kayıtlar içinde çakışmaları çözme

Bu konu çeşitli kombinasyonları çakışma algılama ve çakışma çözümleme yaklaşımları mümkün mantıksal kayıtları kullanırken kapsar. Aynı verileri birden fazla düğüm değiştirir veya birleştirme çoğaltma hataları, bir kısıtlama ihlali gibi belirli türden değişiklikleri çoğaltılıyor karşılaştığında, birleştirme çoğaltma çakışma oluşur. Çakışma algılaması ve çözümlemesi hakkında daha fazla bilgi için bkz: Gelişmiş birleştirme çoğaltma çakışma algılaması ve Çözümlemesi.

Çakışma izleme ve çözümleme düzeyi bir makale belirtmek için bkz: Birleştirme makaleleri için çakışma izleme ve çözümleme düzeyi belirtin.

Çakışma algılama

Çakışmaları mantıksal kayıtları algılanır yolu iki makale özellikleri tarafından belirlenir: column_tracking ve logical_record_level_conflict_detection. SQL Server 2005ve sonraki sürümlerinde de mantıksal kayıt düzeyi algılama desteği.

Logical_record_level_conflict_detection makale özelliği doğru veya yanlış olarak ayarlanabilir. Değer, yalnızca üst düzey üst yazı için ayarlanmalıdır ve alt makaleleri tarafından yok sayılır. Bu değer false ise,'ün önceki sürümleriyle çakışmaları birleştirme çoğaltması algılar SQL Server, yalnızca değeri temel alınarak column_tracking makale özelliği. Bu değer true ise, birleştirme çoğaltması görmezden column_tracking özelliği makale ve herhangi bir mantıksal kayıtta değişiklikler yapılırsa çakışma algılama. Örneğin, bu senaryoyu inceleyin:

Değerler içeren üç tablo mantıksal kaydı

İki kullanıcı içinde Customer2 mantıksal kayıt değerleri değiştirirseniz, bir çakışma algılandığında müşterilerin, siparişleri, veya OrderItems tablolar. Bu örnek bir update deyimi ile yapılan değişiklikleri içerir, ancak çatışma, INSERT veya delete deyimleri ile yapılan değişiklikten de algılanabilir.

Çakışma çözümleme

Varsayılan olarak, birleştirme çoğaltma çakışmalarını çözmek için öncelik tabanlı mantığı kullanır. İki abone veritabanları Çakışan değişikliği yapılırsa, yüksek abonelik öncelikli abone değişikliği kazanır ya da öncelik aynıysa, yayımcı ulaşmak için ilk değişiklik kazanır. Satır düzeyi ve sütun düzeyi algılama, tüm kazanan satırı her zaman kaybeden satır üzerine yazılır.

Logical_record_level_conflict_resolution makale özelliği doğru veya yanlış olarak ayarlanabilir. Değer, yalnızca üst düzey üst yazı için ayarlanmalıdır ve alt makaleleri tarafından yok sayılır. Değer true ise, tüm kazanan mantıksal kaydı kaybeden mantıksal kaydın üzerine yazar. Eğer yanlış, tek tek kazanan satır farklı aboneleri veya yayıncılar gelebilir. Örneğin, abone a-ebil kazanmak bir satırdan çakışmasını siparişleri tablo ve abone b kazanmak ilgili bir satırda OrderItems tablo. Sonucu olan bir mantıksal kaydı siparişleri abone bir ve satır OrderItems abone b. satırdan

Etkileşim çakışma çözünürlüğü ve algılama ayarları

Çakışma çakışma algılaması ve çözümlemesi ayarlarını etkileşimi bağlı. Aşağıdaki örnekler için öncelik tabanlı çakışma çözünürlüğü kullanıldığını varsayılır. Mantıksal kayıtları kullanıldığında, olanaklar şunlardır:

  • Satır veya sütun düzeyi algılama, satır düzeyi çözünürlüğü

  • Sütun düzeyi algılama, mantıksal kaydı çözünürlüğü

  • Satır düzeyi algılama, mantıksal kaydı çözünürlüğü

  • Mantıksal kaydı algılama, mantıksal kaydı çözünürlüğü

Satır veya sütun düzeyi algılama, satır düzeyi çözünürlüğü

Bu örnekte, yayını yapılandırılır:

  • column_tracking true veya false

  • logical_record_level_conflict_detection false

  • logical_record_level_conflict_resolution false

Bu durumda, algılama satır veya sütun düzeyinde ve satır düzeyinde çözümlemesidir. Bu ayarlar, tüm değişiklikleri bir mantıksal kayıt Çoğalt bir birim olarak, ancak çakışma algılama ya da çözüm olmadan mantıksal kayıt düzeyinde olan yararlanmak için kullanılır.

Sütun düzeyi algılama, mantıksal kaydı çözünürlüğü

Bu örnekte, yayını yapılandırılır:

  • column_tracking true

  • logical_record_level_conflict_detection false

  • logical_record_level_conflict_resolution true

Publisher ve abone ile aynı veri kümesi başlatın ve mantıksal bir kayıt arasında tanımlanan siparişleri ve müşterilerin tablolar. Publisher değişiklikleri custcol1 sütununda müşterilerin tablo ve ordercol1 de siparişleri tablosu. Abone değişiklikleri custcol1 aynı satırında müşterilerin tablo ve ordercol2 aynı satırındaki sütun siparişleri tablo. Aynı sütunda yapılan değişiklikler Müşteri tablo çakışma, ancak yapılan değişiklikler sonucu siparişleri tablo çatışması değildir.

Çakışmaları mantıksal kayıt düzeyinde çözümlendiği için Yayımcı tarafında yapılan kazanan değişiklikleri abone tablolarda çoğaltma işlemi sırasında yapılan değişiklikleri değiştirin.

İlişkili satırlardaki değişiklikleri gösteren bir dizi tablo

Satır düzeyi algılama, mantıksal kaydı çözünürlüğü

Bu örnekte, yayını yapılandırılır:

  • column_tracking false

  • logical_record_level_conflict_detection false

  • logical_record_level_conflict_resolution true

Publisher ve abone ile aynı veri kümesi başlatın. Publisher değişiklikleri custcol1 sütununda müşterilerin tablosu. Abone değişiklikleri custcol2 de müşterilerin tablo ve ordercol2 sütununda siparişleri tablosu. Aynı satırda değişiklik müşterilerin tablo sonucu bir çatışma, ancak abone değişiklikleri siparişleri tablo çatışması değildir.

Çakışmaları mantıksal kayıt düzeyinde çözülmüş olduğundan eşitleme sırasında Yayımcı tarafında yapılan kazanan değişiklikleri abone tablolarda yapılan değişikliklerin yerini alır.

İlişkili satırlardaki değişiklikleri gösteren bir dizi tablo

Mantıksal kaydı algılama, mantıksal kaydı çözünürlüğü

Bu örnekte, yayını yapılandırılır:

  • logical_record_level_conflict_detection true

  • logical_record_level_conflict_resolution true

Publisher ve abone ile aynı veri kümesi başlatın. Publisher değişiklikleri custcol1 sütununda müşterilerin tablosu. Abone değişiklikleri ordercol1 sütununda siparişleri tablosu. Aynı satır veya sütun, herhangi bir değişiklik yok ama aynı mantıksal kaydında yapılan değişiklikler nedeniyle CustId= 1, değişikliklerin mantıksal kayıt düzeyinde çakışma olarak algılanır.

Çakışmaları mantıksal kayıt düzeyinde de çözülmüş olduğundan eşitleme sırasında Yayımcı tarafında yapılan kazanan değişiklik abone tablolarda yapılan değişikliği değiştirir.

İlişkili satırlardaki değişiklikleri gösteren bir dizi tablo

Ayrıca bkz.

Kavramlar

Grup değişiklikleri'mantıksal kayıtları ile ilgili satırları