Algılama ve mantıksal kayıtları, çakışmaları çözme
Bu konu, mantıksal kayıtları'nı kullanırken, çakışma algılama ve olası bir çakışma çözümleme yaklaşımlar çeşitli birleşimlerini içerir.Aynı verileri birden fazla düğüm değiştirir veya değişiklikleri çoğaltma yapılırken, belirli türden bir kısıtlama ihlali gibi hatalar, birleştirme çoğaltması karşılaşır birleştirme çoğaltması, BIR çakışma oluşur.çakışma algılama ve Çözümlemesi hakkında daha fazla bilgi için bkz: Gelişmiş birleştirme çoğaltması çakışma algılaması ve Çözümlemesi.
Çakışma izleme ve çözümleme düzey makale
Microsoft SQL Server Management Studio: Nasıl Yapılır: Çakışma izleme ve çözümleme düzeyi için birleştirme makaleleri (SQL Server Management Studio'yu) belirtin.
Çoğaltma Transact-SQL programlama: Nasıl Yapılır: Çakışma izleme ve çözümleme düzeyi için birleştirme makaleleri (çoğaltma Transact-SQL programlama) belirtin.
Çakışma algılama
Çakışmaları mantıksal kayıtlarının algıladı yolu iki makale özellikleri tarafından belirlenir: column_tracking and logical_record_level_conflict_detection.SQL Server 2005 and later versions also support logical record-level detection.Satır düzey ve sütun düzeyinde izleme hakkında daha fazla bilgi için "İzleme düzey" bölümüne bakın. Birleştirme çoğaltması nasıl algılıyor ve çakışmaları çözümler..
The logical_record_level_conflict_detection makale özellik can be küme to TRUE or FALSE.Değer, yalnızca üst düzey üst makale için ayarlanmalıdır ve alt makaleleri tarafından yok sayılacak.Bu değer FALSE ise,'ün önceki sürümleriyle çakışmaları birleştirme çoğaltma algılar. SQL Server, yalnızca değeri temel alarak column_tracking özellik makale.Bu değer TRUE ise, birleştirme çoğaltma yok sayacak column_tracking özellik bu makalenin ve herhangi bir yeri, değişiklik, çakışma algılamasını mantıksal kayıt.Örneğin, bu senaryoyu düşünün:
Iki kullanıcı için Customer2 mantıksal kayıttaki herhangi bir değeri değiştirirseniz, BIR çakışma saptanır Müşteriler, Siparişleri, or OrderItems tablolar.Bu örnek, bir UPDATE deyim ile yapılan değişiklikleri içerir, ancak çakışmayı de INSERT veya DELETE deyimleri ile yapılan değişikliklerden algıladı.
Çakışma çözümlemesi
Varsayılan olarak, birleştirme çoğaltma, çakışmaları çözümlemek için öncelik tabanlı mantığı kullanır.Iki abone veritabanlarındaki bir çakışan değişikliği yaptıysanız, yüksek abonelik öncelikli abone değişikliğin wins veya önceliği, aynı ise, yayımcı ulaşmak için ilk değişiklik kazanır.Satır düzey ve sütun düzey algılama ile tüm kazanan satırı her zaman kaybeden satır üzerine yazar.
The logical_record_level_conflict_resolution makale özellik can be küme to TRUE or FALSE.Değer, yalnızca üst düzey üst makale için ayarlanmalıdır ve alt makaleleri tarafından yok sayılacak.Değer TRUE ise, tüm mantıksal kazanan kayıt, kaybeden mantıksal kayıt üzerine yazar.Bu ise YANLıŞ, tek bir kazanan satır farklı aboneleri veya yayımcılar gelebilir.Örneğin, bir satırdan çakışması abone A kazanabilirsiniz Siparişleri tablo ve abone B ilgili bir satırdan kazanabilirsinizOrderItems tablosudur.mantıksal kayıt sonucudur Siparişleri BIR abone ve satırOrderItems Abone B satırdan
Çakışma çözümlemesi ve algılama ayarları etkileşim
Çakışma çakışma algılama ve Çözümlemesi ayarları etkileşim bağlı.Aşağıdaki örnekler için öncelik tabanlı çakışma çözünürlüğü kullanılmakta olduğunu kabul edilir.Mantıksal kayıtlar kullanırken, olasılıkları şunlardır:
Satır veya sütun düzey algılama, satır düzeyi çözümlemesi
Sütun düzey algılama, mantıksal kayıt çözümlemesi
Satır düzey algılama, mantıksal kayıt çözümlemesi
Mantıksal kayıt algılama, mantıksal kayıt çözümlemesi
Satır veya sütun düzey algılama, satır düzey çözümleme
Bu örnekte, yayın yapılandırılır:
column_tracking DOğRU ise veya YANLıŞ
logical_record_level_conflict_detection is FALSE
logical_record_level_conflict_resolution is FALSE
Bu durumda, satır veya sütun algılaması olan düzey ve çözümlemesi sırasında satır düzey.Bu ayarlar, mantıksal bir kayıt çoğaltıldıktan yapılan tüm değişiklikleri bir birim olarak, ancak çakışma algılama veya mantıksal kayıt çözünürlükte yararlanmak için kullanılan düzey.
Sütun düzey algılama, mantıksal kayıt çözümlemesi
Bu örnekte, yayın yapılandırılır:
column_tracking is TRUE
logical_record_level_conflict_detection is FALSE
logical_record_level_conflict_resolution is TRUE
Bir yayımcı ve abone aynı verilerle başlatmak küme, mantıksal kayıt arasında tanımlanan siparişleri and Müşteriler tablolar.Yayımcı değişiklikleri custcol1 sütunMüşteriler tablo ve ordercol1 in the siparişleri tablosudur.Abone değişiklikleri custcol1 aynı satırdaMüşteriler tablo ve ordercol2 sütun aynı satırdasiparişleri tablosudur.Aynı sütunda değişiklikler Müşteri bir çakışma olabilir, ancak değişiklikleri tablo sonucusiparişleri tablo olmayan çakışma.
Çakışmaları en çözümlenen olduğundan mantıksal kayıt düzeyi, Yayımcı tarafında kazanan değişikliklerinin abone tablolarda, çoğaltma işlemi sırasında yapılan değişiklikleri değiştirin.
Düzey algılama, mantıksal kayıt çözümlemesi satır
Bu örnekte, yayın yapılandırılır:
column_tracking is FALSE
logical_record_level_conflict_detection is FALSE
logical_record_level_conflict_resolution is TRUE
Bir yayımcı ve abone aynı verilerle başlatmak küme.Yayımcı değişiklikleri custcol1 sütunMüşteriler tablo.Abone değişiklikleri custcol2 in the Müşteriler tablo ve ordercol2 sütunsiparişleri tablosudur.Aynı satırda değişiklikler Müşteriler bir çakışma olabilir, ancak abone tablo sonucu için değiştirir.siparişleri tablo olmayan çakışma.
Çakışmaları mantıksal kaydı çözümlenen olduğundan düzey, eşitleme sırasında Yayımcı tarafında kazanan değişikliklerinin abone tablolarda yapılan değişiklikleri değiştirin.
Mantıksal kayıt algılama, mantıksal kayıt çözümlemesi
Bu örnekte, yayın yapılandırılır:
logical_record_level_conflict_detection is TRUE
logical_record_level_conflict_resolution is TRUE
Bir yayımcı ve abone aynı verilerle başlatmak küme.Yayımcı değişiklikleri custcol1 sütunMüşteriler tablo.Abone değişiklikleri ordercol1 sütunsiparişleri tablo.Aynı satır veya sütunları, herhangi bir değişiklik vardır, ancak, aynı mantıksal kaydında yapılan değişiklikler nedeniyle custid= 1mantıksal kayıt sırasında bir çakışma olarak algılanan değişiklikler düzey.
Çakışmaları mantıksal kayıt düzeyinde çözülebilecek olan olduğundan, eşitleme sırasında Yayımcı tarafında yapılan bir kazanan değişiklik abone tablolarda yaptığınız değişikliği değiştirir.