Belirtiler
Microsoft SQL Server 2012 veya Microsoft SQL Server 2014 ' deki parametreli ve birleştirmedeki filtreleri birleştirme çoğaltmasında önceden hesaplanan bölümleri kullandığınızı varsayalım. Filtrenin kökündeki tablolarda Insert deyimini kullanmayı denediğinizde (Publisher tarafında), eklemesırasında performansta azalabilirsiniz.
Çözüm
Bu düzeltmeyi uyguladıktan sonra, sp_vupgrade_mergeobjects yordamı yayımlanan veritabanında el ile yürütmeniz gerekir. Birleştirme çoğaltmasının veri değişikliklerini izlemek ve uygulamak için kullanılan, makaleye özgü Tetikleyicileri, depolanmış yordamları ve görünümleri yeniden oluşturmanıza yardımcı olabilir. Sorun ilk olarak SQL Server 'ın aşağıdaki toplu güncelleştirmesinde giderilmiştir.
SQL Server 2014 için toplu güncelleştirme 5 /en-us/help/3011055
SQL Server 2012 SP2 için toplu güncelleştirme 3 /en-us/help/3002049
Her bir SQL Server toplu güncelleştirmesi, önceki toplu güncelleştirmeyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. En son SQL Server güncelleştirmelerini gözden geçirin:
Ek Bilgi
<tabloya ekleme tetik>tetik MSmerge_expand_sp_XXXXMSmerge_ins_XXXXekleme tetik Bu sorunla karşılaşırsanız, Birleştir genişletme MSmerge_expand_sp_XXXX yordamının farklı Ekle/Seç deyimlerinin çok zaman harcadığına fark edebilirsiniz. Bu durumda, ekleme performansı azalır.
insert into dbo.MSmerge_current_partition_mappings with (rowlock) (publication_number, tablenick, rowguid, partition_id) select distinct 1, mc.tablenick, mc.rowguid, v.partition_id from dbo.MSmerge_contents mc with (rowlock) JOIN dbo.[MSmerge_dynamic_filter_merge_new_settings_PARTITION_VIEW] v with (rowlock) ON mc.tablenick = <tablenick> and mc.rowguid = v.[rowguid] and mc.marker = @child_marker and v.partition_id in (select partition_id from dbo.MSmerge_current_partition_mappings cpm with (rowlock) JOIN dbo.MSmerge_contents mc2 with (rowlock) ON cpm.rowguid = mc2.rowguid and mc2.marker = @marker) where not exists (select * from MSmerge_current_partition_mappings with (readcommitted, rowlock, readpast) where publication_number = 1 and tablenick = <tablenick> and rowguid = v.[rowguid] and partition_id = v.partition_id)
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.