Symptomy
Załóżmy, że korzystasz z funkcji replikacji scalającej dodatek Service Pack 2 (SP2) dla programu Microsoft SQL Server 2012. Po oczyszczeniu metadanych przez wykonanie sp_mergemetadataretentioncleanup na wydawcy nie można usunąć metadanych, mimo że wszystkie Subskrybenci zostały pomyślnie zsynchronizowane. W takiej sytuacji czas synchronizacji można znacznie zwiększyć ze względu na nadmierne metadane.Uwaga W kolumnie last_local_recguid istnieje wartość null lub istnieje stara generacja w kolumnie last_local_recgen dla kilku subskrybentów w tabeli sysmergesubscriptions po stronie wydawcy.
Przyczyna
Ten problem występuje, ponieważ wprowadzono zmiany w celu zmniejszenia możliwości niespójności w procedurze oczyszczania metadanych scalania. Aby to osiągnąć, narzędzie Oczyszczanie sprawdza, które generacje mogą być nadal aktywne, aby uniknąć scenariusza, w którym są usuwane, a następnie ponownie wprowadzane przez abonenta, który nie jest często synchronizowany. Ten mechanizm wykrywania może wykluczyć niektóre generacje z listy Oczyść, nawet jeśli nie znajdują się one już w okresie przechowywania. W niektórych przypadkach może to spowodować zwiększenie rozmiaru tabel metadanych.
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 1 dla programu SQL Server 2014 z dodatkiem SP1 /en-us/help/3067839
Zbiorcza aktualizacja 4 dla programu SQL Server 2012 z dodatkiem SP2 /en-us/help/3007556
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".