Sintomi
Si consideri lo scenario seguente:
- Si usano i gruppi di disponibilità AlwaysOn di Microsoft SQL Server 2012,2014 o 2016.
- Si verifica un failover e la replica principale diventa la nuova replica secondaria.
- Una parte dei LSN deve annullare la nuova replica secondaria.
- Si verifica un deadlock durante l'avanzamento dell'annullamento e la transazione associata al failover viene selezionata come vittima del deadlock da Gestione blocco SQL.
In questo scenario, la nuova replica secondaria smette di accettare i record del log delle transazioni fino al riavvio dell'istanza. Inoltre, nel log degli errori di SQL Server viene registrato un messaggio di errore di timeout di latch simile al seguente ogni pochi minuti:
Nota
Si è verificato un timeout durante l'attesa del latch del buffer: tipo 3, bp 0000003CE3093CC0, pagina 1:0, stat 0x9, ID database: 11, ID unità di allocazione: 6488064, 0x0000001436F2A558 attività : 0, tempo di attesa 300 secondi, contrassegni 0x100000001a, proprietari di attività 0x0000001436F2A558. Continuando ad aspettare.
Uso della versione "dbghelp.dll" "4.0.5"
**Dump thread - spid = 0, EC = 0x0000001038514B90
Dump dello stack inviato a file_path
* *******************************************************************************
* INIZIO DUMP DELLO STACK:
*
data timespid spid
* Timeout latch
* *******************************************************************************
Risoluzione
Questo problema è stato risolto nel seguente aggiornamento cumulativo per SQL Server:
Aggiornamento cumulativo 5 per SQL Server 2016 RTM
Aggiornamento cumulativo 2 per SQL Server 2016 SP1
Aggiornamento cumulativo 3 per SQL Server 2014 Service Pack 2
Aggiornamento cumulativo 11 per SQL Server 2014 SP1
Aggiornamento cumulativo 7 per SQL Server 2012 SP3
Informazioni sugli aggiornamenti cumulativi per SQL Server
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nell'aggiornamento cumulativo precedente. Scopri gli aggiornamenti cumulativi più recenti per SQL Server:
Ultimo aggiornamento cumulativo per SQL Server 2016
Ultimo aggiornamento cumulativo per SQL Server 2014
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.