Ознаки
Припустімо, що ви використовуєте реплікацію злиття служби Microsoft SQL Server 2012 із пакетом оновлень 2 (SP2). Під час очищення метаданих, виконуючи sp_mergemetadataretentioncleanup в програмі Publisher, метадані не можна видалити, навіть якщо всі абоненти були нещодавно синхронізовані з успіхом. У цій ситуації час синхронізації можна суттєво збільшити через надмірні метадані.Примітка. У стовпці last_local_recguid є Null-значення або старе покоління в стовпці last_local_recgen для деяких абонентів у sysmergesubscriptions у програмі Publisher.
Причина
Ця проблема виникає через те, що деякі зміни вводяться, щоб зменшити ймовірність неконвергенції в процедурі очищення метаданих злиття. Для цього програма очищення перевіряє, які покоління все ще можуть бути активними, щоб уникнути сценарію, у якому їх видалено, а потім повторно впроваджується через абонента, який не синхронізуватиметься. Цей механізм виявлення може виключати деякі покоління зі списку очищення, навіть якщо вони більше не знаходяться в період зберігання. У деяких випадках це може збільшити розмір таблиць метаданих.
Спосіб вирішення
Ця проблема була спочатку зафіксоване в цьому сукупному оновленні сервера SQL Server.
Сукупне оновлення 1 для SQL Server 2014 SP1 /en-us/help/3067839
Сукупне оновлення 4 для SQL Server 2012 SP2 /en-us/help/3007556
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".