Microsoft distribuisce le correzioni di Microsoft SQL Server 2008 Service Pack 2 (SP2) in un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione di aggiornamento precedente di SQL Server 2008 SP2.
Sintomi
Quando si verifica un timeout di una query durante la sincronizzazione di una replica di tipo merge in Microsoft SQL Server 2008 o in Microsoft SQL Server 2008 R2, potrebbe verificarsi una non convergenza o una perdita di dati. Tuttavia, l'agente di merge completa correttamente la replica di tipo merge.Note
-
Questo problema può verificarsi in uno degli scenari seguenti:
-
Le modifiche vengono sincronizzate dal server di pubblicazione al Sottoscrittore e la query viene eseguita in timeout nel Sottoscrittore mentre il Sottoscrittore Scarica i dati dall'autore.
-
Le modifiche vengono sincronizzate dal Sottoscrittore al server di pubblicazione e la query viene eseguita in timeout nel server di pubblicazione mentre l'editore Scarica i dati dal Sottoscrittore.
-
-
Questo problema si verifica quando il timeout della query è causato da una delle condizioni seguenti:
-
I blocchi di aggiornamento vengono mantenuti su righe o tabelle durante l'esecuzione di una transazione di lungo periodo.
-
Un altro agente di replica esegue un'operazione di convalida dei dati sulle tabelle.
-
Un altro agente di replica blocca righe o tabelle.
-
-
Il messaggio di timeout seguente potrebbe essere registrato dall'agente di merge:
Il processo di Unione non è riuscito a eseguire una query perché la query è scaduta. Se il problema persiste, aumentare il timeout della query per il processo.
Causa
Questo problema si verifica perché la transazione che esegue la replica di tipo merge nel Sottoscrittore non viene commessa o ripristinata quando si verifica il timeout della query. Verrà aperta una nuova transazione per continuare la replica di tipo merge mentre la transazione precedente è ancora aperta. Quando le righe o le tabelle del Sottoscrittore non sono più bloccate, la nuova transazione completa correttamente la replica di tipo merge. Tuttavia, la transazione precedente esegue il rollback quando l'agente di merge termina la replica di tipo merge e disconnette la connessione. Pertanto, la non convergenza o la perdita di dati si verifica nel Sottoscrittore.
Risoluzione
Informazioni sull'aggiornamento cumulativo
SQL Server 2008 R2
La correzione di questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 10. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2591746 Pacchetto di aggiornamento cumulativo 10 per SQL Server 2008 R2 Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
981356 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2
SQL Server 2008 R2 Service Pack 1
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 3 per SQL Server 2008 R2 Service Pack 1. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2591748 Pacchetto di aggiornamento cumulativo 3 per SQL Server 2008 R2 Service Pack 1Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2567616 Le build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 1
Pacchetto di aggiornamento cumulativo 6 per SQL Server 2008 SP2
La correzione di questo problema è stata rilasciata per la prima volta nel pacchetto di aggiornamento cumulativo 6. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 SP2, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2582285 Pacchetto di aggiornamento cumulativo 6 per SQL Server 2008 Service Pack 2Nota Poiché le compilazioni sono cumulative, ogni nuova versione di aggiornamento contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione di aggiornamento precedente di SQL Server 2008 SP2. Ti consigliamo di considerare l'applicazione della versione di aggiornamento più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2402659 Build di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 2
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".