Příznaky
Předpokládejme, že jste ve slučovací replikaci použili předpočítané oddíly s parametrizovanými a spojovacími filtry v Microsoft SQL serveru 2012 nebo Microsoft SQL serveru 2014. Když se pokusíte použít příkaz Vložit v tabulkách v kořenovém adresáři filtru (na straně Publisheru), může dojít ke snížení výkonu při vkládání.
Řešení
Po použití této opravy hotfix je nutné provést sp_vupgrade_mergeobjects ručně v publikované databázi. Může pomoct obnovit speciální aktivační události, uložené procedury a zobrazení, které se používají ke sledování a používání změn dat pro slučovací replikaci. Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.
Kumulativní aktualizace 5 pro SQL Server 2014 /en-us/help/3011055
Kumulativní aktualizace 3 pro SQL Server 2012 SP2 /en-us/help/3002049
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:
Další informace
Vložit dotabulky<> aktivační události – Vložit aktivační událost MSmerge_ins_XXXXa aktivační procedura zavolá proceduru MSmerge_expand_sp_XXXX. Pokud k tomuto problému dojde, všimnete si, že následující příkaz INSERT/SELECT DISTINCT v postupu rozšíření sloučení MSmerge_expand_sp_XXXX zabírá spoustu času. V této situaci se snížení výkonu vložení sníží.
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)
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.