Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Sintomi

Durante la sincronizzazione della replica di tipo merge in Microsoft SQL Server 2008 e versioni successive di SQL Server, l'agente di merge potrebbe non riuscire. Inoltre, viene visualizzato il seguente messaggio di errore:

L'agente di merge non è riuscito dopo aver rilevato che la pulizia dei metadati basata sulla conservazione ha eliminato i metadati nel Sottoscrittore per le modifiche non ancora inviate al server di pubblicazione. È necessario reinizializzare la sottoscrizione (senza caricamento). (Origine: MSSQL_REPL, Numero di errore: MSSQL_REPL-2147199401) Ottenere assistenza: http://help/MSSQL_REPL-2147199401

Questo problema può verificarsi per diversi motivi. Questi includono molte ragioni che sono attese in determinate circostanze. Per determinare se si è verificato questo errore in modo imprevisto, esaminare i dettagli dei metadati descritti nella sezione "Cause".

Causa

La causa di questo problema è disponibile nelle seguenti tabelle di sistema nel server di sottoscrizione:

  • dbo.sysMergeSubscriptions

  • dbo.MsMerge_Genhistory

Assicurarsi che l'agente di merge non sia più sincronizzato. Quindi, eseguire la query seguente ed esaminare i risultati:

select sentgen da SubscriberDB.dbo.sysMergeSubscriptions dove pubid e sentgen non è null Query results La colonna sentgen contrassegna il gruppo meno recente di modifiche che il server di sottoscrizione ha inviato al server di pubblicazione. Se vengono restituiti più valori, esaminare le altre colonne della tabella dbo.sysMergeSubscriptions per assicurarsi di visualizzare i metadati per la pubblicazione corretta. Successivamente, utilizzare il valore restituito dalla query nella query seguente:Next, use the value that this query returns in the following query:

selezionare top 20 - da SubscriberDB.dbo.MSmerge_genhistory dove generazione > sentgen_value ordine per generazioneL'output della query dovrebbe Query result by generation essere simile al seguente: È possibile riscontrare l'errore in modo imprevisto quando tutte le seguenti condizioni sono vere:

  • Il valore nella colonna generation nella prima riga è leggermente maggiore del valore sentgen nella query precedente.

  • Il valore nella colonna genstatus è 4.

  • Il valore nella colonna changecount è 0.

Nota: Il valore della colonna coldate della prima riga è in genere molto più vecchio del valore di tale colonna nelle altre righe.

Risoluzione

Per risolvere questo problema, reinizializzare il sottoscrittore che ha generato l'errore. In alcuni scenari, potrebbe essere possibile risolvere questo problema senza una reinizializzazione completa. Contattare il Servizio Supporto Tecnico Clienti Microsoft per informazioni su una possibile soluzione alternativa. Per evitare occorrenze future di questo problema, applicare una delle seguenti correzioni, a seconda della versione di SQL Server.

Informazioni sull'aggiornamento cumulativo

SQL Server 2008 (informazioni in lingua inglese)

Non esiste alcuna correzione per questo problema in SQL Server 2008.

SQL Server 2008 R2 Service Pack 2

La correzione per questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 3. Per ulteriori informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2 Service Pack 2, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2754552 pacchetto di aggiornamento cumulativo 3 per SQL Server 2008 R2 Service Pack 2Nota: Poiché le build sono cumulative, ogni nuova versione della correzione contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la protezione incluse nella versione precedente della correzione di SQL Server 2008 R2 Service Pack 2. Si consiglia di prendere in considerazione l'applicazione della versione finale della correzione che contiene questo hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2730301 le build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 2

SQL Server 2012 (informazioni in lingua inglese)

La correzione per questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 4. Per ulteriori informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2012, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2758687 pacchetto di aggiornamento cumulativo 4 per SQL Server 2012Nota: Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli aggiornamenti rapidi e tutte le correzioni di sicurezza che sono stati inclusi con la versione precedente di SQL Server 2012. Si consiglia di prendere in considerazione l'applicazione della versione finale della correzione che contiene questo hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2692828 le build di SQL Server 2012 rilasciate dopo il rilascio di SQL Server 2012

SQL Server 2008 R2 Service Pack 1

La correzione per questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 8. Per ulteriori informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2 Service Pack 1, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2723743 pacchetto di aggiornamento cumulativo 8 per SQL Server 2008 R2 SP1Nota: Poiché le build sono cumulative, ogni nuova versione della correzione contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la protezione incluse nella versione precedente della correzione di SQL Server 2008 R2 Service Pack 1. Si consiglia di prendere in considerazione l'applicazione della versione finale della correzione che contiene questo hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2567616 le build di SQL Server 2008 R2 che sono state rilasciate dopo il rilascio di SQL Server 2008 R2 SP1

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×