Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症状

假设你使用 Microsoft SQL Server 2012 Service Pack 2 (SP2)合并复制。 通过在发布服务器上执行 sp_mergemetadataretentioncleanup 来清理元数据时,即使所有订阅者最近已成功同步,也无法删除元数据。 在这种情况下,由于元数据过多,同步时间可能会显著增加。注意 在 " last_local_recguid " 列中有一个 null 值,或者发布者端的sysmergesubscriptions表中的某些订阅服务器的last_local_recgen列中存在旧代。

原因

出现此问题的原因是引入了一些更改,以减少合并元数据清理过程中不收敛的可能性。 若要实现此目的,清理将验证哪些生成仍处于活动状态,以避免删除这些生成,然后通过不经常同步的订阅者重新引入它们。 此检测机制可能会将某些生成从清理列表中排除,即使它们不再位于保留期内。 在某些情况下,这可能会增加元数据表的大小。

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。