Aracılığıyla paylaş


Birleştirme Çoğaltma Performansı'nı geliştirme

Genel performans ipuçları düşünmeden açıklanan sonra Genel yineleme performans geliştirme, bu ek alanlar belirli çoğaltma birleştirmek için göz önünde bulundurun.

Veritabanı Tasarım

  • Dizin sütunları, satır süzgeçleri ve birleştirmek filtrelerde kullanılan.

    Yayımlanmış bir makaleye satır süzgeç'i kullandığınızda, her filtrenin WHERE yan tümcesinde kullanılan sütunların 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 dizini SQL Server hangi satırların ekleneceğini hızlı bir şekilde bulabilirsiniz. Çoğaltma WHERE yan tümce yalnızca dizinden süzgecin tam olarak çözümlemek için en hızlı işleme gerçekleşir.

    Tüm sütunları birleştirmek filtrelerini kullanılan dizin de önemlidir.Her saat Birleştirme Aracısı çalışır, ana tabloyu ve hangi ilgili satırları hangi satırların bir bölümün içerdiği belirlemek için temel tablo arar.Birleştirilen sütunlarda dizin oluşturmayı sahip önler SQL Server Birleştirme Aracısı'nı çalıştıran her tablodaki her satır okuyun.

    Filtre uygulama hakkında daha fazla bilgi için bkz: Birleştirme çoğaltması için yayımlanan veri süzme.

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

    Eşitleme gerçekleştiğinde, Birleştirme Aracısı okuyun ve tüm veri satırı için bir Yayımcı veya abone transfer gerekebilir.Satır LOB'lar kullanan sütunlar içeriyorsa, bu işlem ek bellek ayırma gerektirir ve bu sütunlar değil güncelleştirilmiş olabilir ancak performansı olumsuz yönde.Bu performans etkisi oluşan olasılığını azaltmak için , bire bir ilişki satır verileri geri kalanı için ayrı bir tablo içinde LOB sütunlar yerleştirmekten göz önünde bulundurun.Veri türleri text, ntext, ve image itiraz. LOB'lar eklerseniz, veri türleri kullanmanız önerilir varchar(max), nvarchar(max), varbinary(max), sırasıyla.

Yayın Tasarımı

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

    Bir veya daha fazla aboneleri, farklı bir sürüm kullanmıyorsanız SQL Server, yayın yalnızca desteklemelidir belirtin. SQL Server 2005 veya sonraki sürüm. Bu yayın yeni özellikler ve performans iyileştirmeleri olanaklarından yararlanacak şekilde sağlar.Daha fazla bilgi için "Uyumluluk düzey için birleştirme yayınları" bölümüne bakın. Bir çoğaltma topolojisi SQL Server birden çok sürümünü kullanma.

  • Uygun bir yayın koruma ayarları kullanın.

    Izleme meta veriler ne kadar süreyle depolanır, en fazla süreyi abonelik eşitlenmesi için önce yayın bekletme saat belirler.Yüksek bir değer, depolama ve işleme performansını etkileyebilir.yayın bekletme süresi ayarı 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 yükleme makaleleri ile birleştirme çoğaltma performansı en iyi duruma getirme.

Süzgeç tasarım ve kullanım

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

    Süzme ölçütleri karmaşıklığını sınırlayarak, Birleştirme Aracısı abonelerine göndermek için bir satır değişiklikleri değerlendirirken, performansın iyileşmesine yardımcı olur.Birleştirme satırı filtre yan tümcesi içinde Sub-selects kullanmaktan kaçının.Bunun yerine, bir bölümü veri kullanıldığında genelde daha verimlidir birleştirmek filtreleri kullanmayı tablo temel alan başka bir satır süzgeç tümcesi tablo.Filtre uygulama hakkında daha fazla bilgi için bkz: Birleştirme çoğaltması için yayımlanan veri süzme.

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

    Precomputed bölümleri davranış süzme üzerindeki sınırları çok sayıda sahiptir.Uygulamanız bu sınırlamaları bağlı olamaz, küme keep_partition_changes seçeneğiDoğrubir performans yarar sağlayan. Daha fazla bilgi için bkz: Parametreli satır süzgeçleri.

  • Veri süzülmüş ancak kullanıcılar arasında paylaşılmayan örtüşmeyen bölümleri kullanın.

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

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

    Beş veya daha fazla tabloyu birleştirmek filtreleriyle, birleştirmek işlemi sırasında performansı önemli ölçüde etkileyebilir.birleştirmek süzgeçler, diğer çözümler dikkate beş veya daha fazla tablo oluşturma, öneririz:

    • Esas olarak değiştirilebilir olmayan tablolar arama tabloları ve daha küçük tablo tablolar süzme kaçının.Bu tablo parçası yayın birleştirilmez olun.Yalnızca abonelere arasında bölümlenmelidir tablolar arasındaki birleştirmek süzgeçleri kullanmanızı öneririz.Daha fazla bilgi için bkz: Süzgeçleri katılın..

    • Veritabanı tasarımını denormalizing'ı veya çok sayıda tablo birleştirmek varsa, bir eşleşme tablosu kullanmayı düşünün.Örneğin, satışçı, her müşteri için yalnızca veri gerekiyor, ancak bu altı birleşim, bir müşteri bir satışçı ile ilişkilendirmek için gerektiriyorsa, bu müşteri için bir sütun ekleyerek düşünün tablo, satışçının tanımlar.Satış Temsilcisi yedek veridir, ancak tablolar biraz denormalizing, maliyetleri performans üstünlüklerinden, çoğaltma bölümleme için tarafından outweighed.

    • Toplu işlem, büyük miktarda veri değişikliklerini içerdiğinde precomputed bölümleri performansını artırmak için , uygulamanız ile bakım tasarlayın.Üst veri değişikliklerini emin tablo birleştirme süzgeçle ilgili önce yapılan değişiklikler alt tablo s.

  • küme join_unique_key seçeneği1 mantığı veriyorsa.

    Bu parametreyi ayarlamak 1 bire bir veya bir-çok birleştirmek filtresindeki alt ve üst tablolar arasında ilişki olduğunu gösterir.Yalnızca küme bu parametre için 1 benzersizliği güvence altına alır bir alt tabloda bir kısıtlama katılan sütunu varsa.Parametre ise küme için 1 yakınsama veri hatalı oluşabilir.Daha fazla bilgi için bkz: Süzgeçleri katılın..

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

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

Abonelik konuları

Birleştirme Aracısı parametreleri

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

  • Çekme abonelik için tüm abonelere yükseltme SQL Server 2005 veya sonraki sürüm.

    Abone için yükseltme SQL Server 2005 veya, abonelik sırasında abonelik tarafından kullanılan Birleştirme Aracısı sonraki bir sürüm yükseltir. Yeni özellikler ve performans iyileştirmeleri, Birleştirme Aracısı'ndan yararlanacak biçimde SQL Server 2005 veya sonraki sürüm gereklidir.

  • Bir abonelik hızlı bir bağlantı üzerinden eşitlenir ve bu değişiklikler, yayımcı ve abone gönderilir, kullanın –ParallelUploadDownload Birleştirme Aracısı ile ilgili parametre.

    SQL Server 2005 Birleştirme Aracısı yeni bir parametre sunulmaktadır: –ParallelUploadDownload.Bu parametre, paralel olarak yüklenen değişiklikleri işlemek Birleştirme Aracısı sağlar Yayımcı ve bunlar için Abone karşıdan.Bu, yüksek ağ bant genişliği ile yüksek ortamlarda kullanışlıdır.Aracı parametreleri Aracısı profillerindeki ve komut satırında belirtilebilir.Daha fazla bilgi için, bkz:

  • Değerini artırmayı düşünün -MakeGenerationInterval parametresi, özellikle eşitlemeyi daha içeriyorsa aboneleri yüklemeleri abonelerine yükler.

  • Büyük miktarda satır LOB sütunlarla gibi verileri ile veri satırlarını eşitlediğinizde Web üzerinden eşitleme ek bellek ayırma gerektirir ve performansı zararı.Birleştirme Aracısı büyük miktarda veri içeren çok veri satırı içeren bir XML ileti oluştururken bu oluşur.Birleştirme Aracısı Web üzerinden eşitleme sırasında çok fazla kaynak tüketen, tek bir iletide, aşağıdaki yollardan biriyle gönderilen satır sayısını azaltın:

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

    • Azaltma -DownloadGenerationsPerBatch and -UploadGenerationsPerBatch parametreleri birleştirme aracıya 10 veya daha az bir değer.Bu parametreler varsayılan değer 50'dir.

Anlık görüntü konuları

  • ROWGUIDCOL sütun için başlangıç anlık görüntü oluştururken önce büyük bir tablo oluşturun.

    Birleştirme çoğaltma, yayımlanan her tablo ROWGUIDCOL sütun olması gerekir.Anlık Görüntü Aracısı ilk anlık görüntü dosyaları oluşturmadan önce ROWGUIDCOL sütun tabloda yoksa, aracı ilk eklemeli ve ROWGUIDCOL sütun doldurun.Bir performans avantaj sırasında birleştirme çoğaltma anlık görüntüleri oluşturma sırasında kazanmak için , ROWGUIDCOL sütun yayımlamadan önce her bir tablo oluşturun.Sütun, herhangi bir ad (olabilirROWGUID anlık görüntü Aracısı tarafından varsayılan olarak kullanılır), ancak, aşağıdaki veri özellikleri türüne sahip olmalıdır:

    • UNIQUEIDENTIFIER veri türü.

    • Varsayılan NEWSEQUENTIALID() veya NEWID().Bunu yapma ve değişiklikleri izleme, performans artışı sağlayabilir NEWSEQUENTIALID() önerilir.

    • ROWGUIDCOL özellik kümesi.

    • Sütununda, benzersiz dizin.

  • anlık görüntü görüntü görüntüleri pre-generate ve/veya aboneleri, isteği anlık görüntü görüntü görüntü oluşturma ve Uygulama ilk kez, eşitleme sağlar.

    Parametreli süzgeçlerini kullanan yayınlar için anlık görüntüleri sağlamak için aşağıdaki seçeneklerden birini veya her ikisini birden kullanın.Aşağıdaki seçeneklerden birini belirtmezseniz, abonelikler kullanmak yerine bir dizi SELECT ve INSERT deyimleri kullanarak başlatılır Kullanımıbcp yardımcı programı; bu işlemi çok daha yavaş olur.Daha fazla bilgi için bkz: Anlık görüntüler için birleştirme yayınları ile parametreli hale getirilmiş süzgeçleri.

Bakım ve konuları izleme

  • Bazen, birleştirme çoğaltma sistem tabloları yeniden indeksle.

    Birleştirme çoğaltma için bakımının bir parçası olarak, bazen büyüme birleştirme çoğaltma ile ilişkili sistem tabloları denetleyin: MSmerge_contents, MSmerge_genhistory, and MSmerge_tombstone, MSmerge_current_partition_mappings, and MSmerge_past_partition_mappings.Bu tablo belirli aralıklarla yeniden dizin oluştur.Daha fazla bilgi için bkz: Yeniden düzenleme ve dizinleri yeniden oluşturma.

  • Izleme, performans eşitlemeyi kullanarak Eşitleme geçmiş sekmesini çoğaltma izleyicisi.

    Birleştirme çoğaltma için çoğaltma Monitor ayrıntılı istatistiklerini görüntüler Eşitleme geçmiş sekmesini için bekleyeceği süreyi de dahil olmak üzere, eşitleme sırasında işlenen her makale (karşıya yükleniyor değişiklikleri, karşıdan yükleme değişiklikleri vb.) her işlem aşamasında harcanan.Belirli tablolar gösterecek yardımcı yavaş neden downs ve birleştirme abonelikler performans sorunlarını gidermek için en iyi yerdir.Ayrıntılı istatistiklerini görüntüleme ile ilgili daha fazla bilgi için bkz: Nasıl Yapılır: Bilgileri görüntülemek ve abonelik (çoğaltma izleyicisi) ile ilişkilendirilmiş aracıların için görevleri gerçekleştir.

See Also

Concepts