Sintomi
Supponiamo che tu usi la replica di tipo merge di Microsoft SQL Server 2012 Service Pack 2 (SP2). Quando si ripuliscono i metadati eseguendo sp_mergemetadataretentioncleanup nel server di pubblicazione, i metadati non possono essere rimossi anche se tutti gli abbonati hanno eseguito la sincronizzazione di recente. In questa situazione, il tempo di sincronizzazione può essere aumentato in modo significativo a causa dei metadati eccessivi.Nota Nella colonna last_local_recguid è presente un valore null oppure una vecchia generazione nella colonna last_local_recgen per alcuni abbonati nella tabella sysmergesubscriptions sul lato Publisher.
Causa
Questo problema si verifica perché vengono introdotte alcune modifiche per ridurre la possibilità di non convergenza nella procedura di pulitura dei metadati di tipo merge. A questo scopo, la pulitura convalida le generazioni che potrebbero essere ancora attive per evitare uno scenario in cui vengono eliminate e quindi reintrodotte tramite un Sottoscrittore che non viene sincronizzato di frequente. Questo meccanismo di rilevamento può escludere alcune generazioni dall'elenco di pulitura anche se non sono più presenti nel periodo di conservazione. In alcuni casi, può aumentare le dimensioni delle tabelle di metadati.
Risoluzione
Questo problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 1 per SQL Server 2014 SP1 /en-us/help/3067839
Aggiornamento cumulativo 4 per SQL Server 2012 SP2 /en-us/help/3007556
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".