Aracılığıyla paylaş


Birleştirme çoğaltma performansı geliştirme

Açıklanan genel performans ipuçları ele sonra Genel çoğaltma performansı, bu ek alanlara özgü göz önünde birleştirme çoğaltması.

Veritabanı Tasarım

  • Satır filtreleri ve birleştirmek filtrelerde kullanılan dizin sütunları.

    Kullandığınızda, satır filtre yayımlanan üzerinde makale, filtre where yan tümce tümce tümcesinde kullanılan sütunlar üzerinde bir dizin oluşturun.Without an index, Microsoft SQL Server has to read each row in the table to determine whether the row should be included in the partition.Bir dizin ile SQL Server hızlı bir şekilde hangi satırların ekleneceğini bulun.En hızlı işleme, çoğaltma tam olarak tek başına dizinden filtre where yan tümce tümce tümce çözümleyebilirse gerçekleşir.

    Dizin birleştirmek filtreleri kullanılan tüm sütunları da önemlidir.Birleştirme Aracısı çalıştırır, her saat bunu hangi satırların üst tablo ve ilişkili tablolardaki hangi satırların bir bölümünde bulunan belirlemek için temel tablo arar.Birleştirilmiş sütunlar üzerinde bir dizin oluşturulmasını engeller sahip SQL Server tablodaki her satır okumak her saat Birleştirme Aracısı çalıştırır.

    Filtre uygulama hakkında daha fazla bilgi için bkz: Veri birleştirme çoğaltma için yayımlanan filtreleme.

  • Büyük nesne (lob) veri türleri içeren tablolar overnormalizing göz önünde bulundurun.

    Eşitlemenin yapılacağı zamanı Merge Agent okuma ve tüm veri satırı bir yayımcı veya abone transfer etmek gerekebilir.Satır LOB'lar kullanın sütunlar içeriyorsa, bu işlem ek bellek ayırma gerektirir ve bu sütunların değil güncelleştirilmiş olabilir rağmen performansı olumsuz.Bu performans etkisi ortaya çıkan olasılığını azaltmak için ayrı bir lob sütunları yerleştirme göz önünde tablo bire bir ilişki kalan bölümü satır verilerini kullanarak.Veri türleri text, ntext, ve image önerilmiyor.LOB'lar dahil, veri türlerini kullanmak öneririz varchar(max), nvarchar(max), varbinary(max), sırasıyla.

Yayın tasarım

  • yayın uyumluluk kullanmak düzey 90RTM'ın (SQL Server 2005 veya sonraki bir sürüm).

    Farklı bir sürüm bir veya daha fazla aboneleri kullanmadığınız sürece SQL Serverbelirtin, yayın gereken desteği yalnızca SQL Server 2005 veya sonraki bir sürüm.Bu yeni özellikleri ve performansı en iyi duruma getirmeleri yararlanmak için yayın sağlar.Daha fazla bilgi için "Uyumluluk düzeyi için birleştirme yayınları" konusuna bakın. kısmında sql Server birden çok sürümünü kullanarak bir çoğaltma topolojisi içinde.

  • Uygun yayın tutma ayarlarını kullanın.

    En uzun süreyi bir abonelik eşitlenebilir önce ise, yayın bekletme saat izleme meta veriler ne kadar süreyle depolanacağını saptar.Yüksek bir değer, depolama ve işleme performansını etkileyebilir.yayın bekletme süresi ayarlanması hakkında daha fazla bilgi için bkz: Abonelik bitiş ve etkinliğini kaldırmayı.

  • Yalnızca karşıdan yükleme makaleleri Yayımcı tarafında yalnızca değiştirilen bu tabloları kullanın.Daha fazla bilgi için bkz: Yalnızca karşıdan yükleme makaleleri ile birleştirme çoğaltma performansı en iyi duruma getirme.

Filtre tasarım ve kullanımı

  • Satır filtre yan tümceleri karmaşıklık sınırlayın.

    Filtre uygulama ölçütlerini karmaşıklığını sınırlama abonelere göndermek için satır değişiklikleri Birleştirme Aracısı değerlendirirken performansı artırır.Birleştirme satırı filtre yan tümcesi içinde Sub-selects kullanmaktan kaçının.Bunun yerine, bir bölümü verileri için kullanılan, genellikle daha etkili olan birleştirmek filtreleri kullanmayı tablo başka bir satır filtre yan tümce tümce tümce temel tablo.Filtre uygulama hakkında daha fazla bilgi için bkz: Veri birleştirme çoğaltma için yayımlanan filtreleme.

  • (Bu özellik varsayılan olarak kullanılır) parametreli filtreleri ile precomputed bölümleri kullanın.Daha fazla bilgi için bkz: Parametreli Filtresi performans Precomputed bölümleri ile en iyi duruma getirme.

    Precomputed bölümleri çok sayıda davranış süzme üzerindeki sınırları tanıtamazlar.Uygulamanız için bu sınırlamalar zemine olamaz, küme keep_partition_changes seçenek doğru, performans yararı sağlar.Daha fazla bilgi için bkz: Parametreli satır filtreleri.

  • Veri filtre ancak kullanıcılar arasında paylaşılan örtüşmeyen bölümleri kullanın.

    Çoğaltma performans bölümleri veya abonelikler arasında paylaşılan veriler için en iyi duruma getirebilirsiniz.Daha fazla bilgi için bkz: Parametreli satır filtreleri.

  • Karmaşık oluşturmayın birleştirmek filtresi hiyerarşileri.

    Beş veya daha fazla tabloyu birleştirme filtreleri, birleştirme işlemi sırasında performansı önemli ölçüde etkileyebilir.Başka çözümler düşünün beş veya daha fazla tabloyu birleştirmek süzgeçleri üretiyorsanız, öneririz:

    • Öncelikle arama tabloları, küçük tablolar ve değişiklik tabi olmayan tablolar tablolar filtre kaçının.Bu tablolar yayın parçası kendi bütünlükleri içerisinde olun.Aboneler arasında bölümlenmiş tablolar arasındaki birleştirmek filtreleri kullanmanızı öneririz.Daha fazla bilgi için bkz: Filtreler katılın.

    • Veritabanı tasarımını denormalizing veya çok sayıda tablo birleştirmek varsa eşleşme tablosu kullanmayı düşünün.Örneğin, satış elemanını kendi müşterileri için yalnızca veri gereksinimi vardır, ancak bir müşteri, bir satış elemanı ile ilişkilendirmek için altı birleşimler gerektirir, müşteri için bir sütun ekleyerek düşünün tablo satış temsilcisi olarak tanıtan.Satış elemanı gereksiz verilerdir, ancak çoğaltma bölümleme için performans avantajları ile tablolar biraz denormalizing maliyetlerini outweighed.

    • Veri değişikliklerinin çok toplu işlemleri içeren precomputed bölümleri performansını artırmak için özen ile uygulamanızı tasarlayın.Üst veri değişikliklerini emin olun tablo önce karşılık gelen bir birleştirmek filtre içinde yapılan değişiklikler, alt tablos.

  • Set join_unique_key seçenek 1 mantık veriyorsa.

    Bu parametreyi ayarlamak 1 alt ve üst arasındaki ilişki içindeki tabloları gösterir bir birleştirmek filtresi bire bir veya birçok için biridir.Bu parametre yalnızca ayarlamak 1 alt katılan sütun kısıtlama olup olmadığını tablo Benzersizliği güvence altına alır.Parametre ise küme için 1 yakınsaması verilerinin hatalı, ortaya çıkabilir.Daha fazla bilgi için bkz: Filtreler katılın.

  • Precomputed bölümleri kullandığınızda çok sayıda değişiklikleri toplu işleri çalıştırma kaçının.

    Büyük miktarda veri değişiklikleri içeren bir toplu işlemi çalıştırdıktan sonra birleştirme Aracı çalıştırıldığında, büyük toplu iş içinde daha küçük toplu işlemleri bölmek Aracısı çalışır.Sırasında bu saat, Birleştirme Aracısı diğer işlemlere engellenebilir.toplu iş iş değişiklik sayısını azaltmayı deneyin ve toplu iş iş işlemleri arasında Birleştirme Aracısı çalıştırın.Bu yapılamaz, değerini artırın generation_leveling_threshold yayın.

Abonelik hakkında önemli noktalar

Birleştirme Aracısı Parametreler

Birleştirme Aracısı ve parametreleri hakkında daha fazla bilgi için bkz: Çoğaltma Birleştirme Aracısı.

  • Tüm aboneleri için çekme abonelikleri için yükseltme SQL Server 2005 veya sonraki bir sürüm.

    Yükseltme için abone SQL Server 2005 veya sonraki bir sürüm yükseltir bu abone. abonelik tarafından kullanılan Birleştirme AracısıBirçok yeni özellik ve performans iyileştirmeleri, Birleştirme Aracısı'ndan yararlanmak için SQL Server 2005 veya sonraki bir sürüm gereklidir.

  • Bir abonelik hızlı bir bağlantı üzerinden eşitlenir ve değişiklikleri Yayımcı ve abone gönderilir, kullanın –ParallelUploadDownload için Birleştirme Aracısı parametresi.

    SQL Server 2005Yeni bir Birleştirme Aracısı parametre sunulmaktadır: –ParallelUploadDownload.Değişiklikler için yayımcı karşıya ve olanlar için abone karşıdan paralel olarak işlemek Birleştirme Aracısı Bu parametre ayarı sağlar.Bu, yüksek ağ bant genişliği ile yüksek hacimli ortamlarda kullanışlıdır.Aracısı parametrelerini Aracısı profilleri ve komut satırında belirtilebilir.Daha fazla bilgi için, bkz:

  • Değerini artırmayı düşünün - makegenerationinterval parametresi, özellikle daha fazla yüklemeye aboneleri arasında fazla yüklemeleri aboneleri için eşitleme içeriyorsa.

  • İle lob sütunları ile satırları gibi veri büyük miktarda veri satırlarını eşitlerken Web üzerinden eşitleme performans zararı ve ek bellek ayırmalarını gerektirir.Birleştirme Aracısı büyük miktarda veri içeren çok sayıda veri satırı içeren bir xml iletisi üretir bu ortaya çıkar.Birleştirme Aracısı, Web üzerinden eşitleme sırasında çok fazla kaynak tükettiğinden varsa, aşağıdaki yollardan biriyle tek bir iletide gönderilen satır sayısını azaltın:

    • Yavaş Bağlantı Aracısı profili Birleştirme Aracısı için kullanın.Daha fazla bilgi için bkz: Çoğaltma aracısı profilleri.

    • Azaltmak - downloadgenerationsperbatch ve - uploadgenerationsperbatch 10 veya daha az bir değere Birleştirme Aracısı parametrelerini.Bu parametrelerin varsayılan değer 50'dir.

Anlık görüntü dikkat edilmesi gereken noktalar

  • Üretmek için önce büyük tablolarda ROWGUIDCOL sütun oluşturma ilk anlık görüntü.

    Birleştirme çoğaltma yayımlanan her tablo ROWGUIDCOL sütun olması gerekir.ROWGUIDCOL sütunu yoksa, tablo ilk anlık görüntü dosyaları Snapshot Agent oluşturmadan önce aracı ilk ile eklemeli ROWGUIDCOL sütun doldurmak.Birleştirme çoğaltma sırasında anlık görüntü oluşturma sırasında performans avantajı kazanmak için ROWGUIDCOL sütun üzerinde her oluşturmak tablo yayımlamadan önce.Sütun, herhangi bir ad olabilir (ROWGUID Anlık Görüntü Aracısı tarafından varsayılan olarak kullanılır), ancak aşağıdaki veri türü özellikleri olması gerekir:

    • UNIQUEIDENTIFIER veri türü.

    • Varsayılan değeri NEWSEQUENTIALID() veya NEWID().Yapma ve değişiklikleri izleme, performans artışı sağlayabilir çünkü NEWSEQUENTIALID() tavsiye edilir.

    • ROWGUIDCOL özellik küme.

    • Sütun üzerinde benzersiz dizin.

  • anlık görüntü pre-generate ve/veya abonelerin isteği anlık görüntü görüntüsü oluşturma ve uygulama ilk izin saat bunlar eşitlemek.

    Parametreli filtreleri kullanın yayınlar için anlık görüntü sağlamak için aşağıdakilerden birini veya her ikisini bu seçenekleri kullanın.Bu seçeneklerden birini belirtmezseniz, abonelikleri kullanmak yerine bir dizi seçin ve Insert deyimlerini kullanarak başlatılır bcp yardımcı programı; Bu işlem çok daha yavaş çalışmasıdır.Daha fazla bilgi için bkz: Anlık görüntüler için birleştirme yayınları ile parametreli süzgeçleri.

Bakım ve izleme hakkında önemli noktalar

  • Zaman zaman yeniden indekslenmesi birleştirme çoğaltma sistem tabloları.

    Mektup birleştirme için bakımının bir parçası olarak çoğaltma, bazen birleştirme ile ilişkili sistem tabloları büyümesi kontrol çoğaltma: MSmerge_contents, MSmerge_genhistory, ve MSmerge_tombstone, MSmerge_current_partition_mappings, ve MSmerge_past_partition_mappings.Düzenli olarak bu tabloları yeniden indeksle.Daha fazla bilgi için bkz: Yeniden düzenleme ve dizinler yeniden oluşturuluyor.

  • Eşitleme Performans İzleyicisi'ni kullanarak Eşitleme geçmiş Replication Monitor sekmesi.

    Birleştirme çoğaltması için ayrıntılı istatistiklere çoğaltma Monitor görüntüler Eşitleme geçmiş her makale için sekme miktarını da dahil olmak üzere, eşitleme sırasında işlenen saat harcanan her işlem aşamasına (karşıya yükleme değişiklikler, karşıdan yükleme değişiklikleri vb.).Belirli tablolar belirlemeye yardımcı neden yavaş downs ve birleştirme abonelikleri ile performans sorunlarını gidermek için en iyi yerdir.Ayrıntılı istatistikleri görüntüleme hakkında daha fazla bilgi için bkz: Nasıl yapılır: Bilgileri görüntülemek ve abonelik (çoğaltma İzleyicisi) ilişkilendirilmiş aracıların için görevleri gerçekleştir.

Ayrıca bkz.

Kavramlar