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

Sintomi

Supponiamo che tu usi la replica di tipo merge in Microsoft SQL Server 2012 o in Microsoft SQL Server 2014. Come parte del processo di sincronizzazione, l'agente di merge crea una nuova generazione in una sessione. Se per qualche motivo, ad esempio un deadlock o un timeout, la transazione di generazione è selezionata come vittima di un deadlock e viene eseguito il rollback della transazione, potrebbe essere presente una grande catena di blocchi per MSinternal_makegeneration_inprog blocco dell'applicazione nei prossimi tipi di generazione e la sessione menzionata in precedenza viene visualizzata come blocco principale.

Causa

Il blocco dell'applicazione usato per proteggere un processo di creazione di una generazione è un blocco dell'applicazione a livello di sessione. Quando viene rilevato un deadlock durante il processo di creazione di una generazione, viene eseguito il rollback solo della transazione, ma la sessione non viene disconnessa. Per rilasciare un blocco dell'applicazione a livello di sessione, la sessione deve disconnessione. Di conseguenza, a causa della progettazione della logica di ripetizione (la sessione non verrà disattivata durante la generazione che non riesce a eseguire la replica di tipo merge), se la prima generazione ha esito negativo con un deadlock, il blocco di sessione (MSinternal_makegeneration_inprog) ottenuto non verrà rilasciato durante il rollback delle transazioni. In questo modo, il blocco della catena di richieste di blocco viene effettuato nel processo di creazione di prossima generazione. Il blocco per la testa viene visualizzato per essere la prima generazione che effettua una richiesta che non riesce con un deadlock. Prima dell'hotfix, SQL Server cancella solo il blocco per un processo di creazione di generazione riuscito. Lascia un blocco dell'applicazione di sessione orfana prima della disconnessione della sessione se si verifica un deadlock.

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".

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!

×