修正: 插入效能降低,在合併複寫中使用 SQL Server 2012年或 2014年預先計算的資料分割

徵狀

假設您在合併複寫中使用預先計算的資料分割與參數化和聯結篩選在 Microsoft SQL Server 2012年或 Microsoft SQL Server 2014年。當您嘗試在根目錄中的篩選器 (位在 「 發行者 」 端) 的表格中使用INSERT陳述式時,您可能會遇到上插入的效能降低。

每個新的累積更新的 SQL Server 包含的所有 hotfix 與安全性修正,全都包含在先前的累積更新。取出 SQL Server 的最新的累積更新:

其他相關資訊

插入< 表格 >觸發程序合併插入觸發程序MSmerge_ins_XXXX,並觸發程序呼叫的程序MSmerge_expand_sp_XXXX。如果您遇到這個問題,您會發現下列插入/選取不同的陳述式合併擴充程序MSmerge_expand_sp_XXXX的消耗的時間量。在此情況下,插入的效能降低。

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)

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×