Sintomi
Considerare lo scenario descritto di seguito:
-
Si usa OLTP (Online Transaction Processing) in memoria in Microsoft SQL Server 2017, 2016 e 2014.
-
Si esegue una query su una tabella ottimizzata per la memoria che contiene un indice di grandi dimensioni.
In questo scenario, se si utilizza l'indice di grandi dimensioni durante l'esecuzione della query, l'uso della CPU potrebbe aumentare notevolmente al 100% molto rapidamente. Se si hanno più processori logici, solo uno dei processori in uso potrebbe raggiungere rapidamente il 100%.
Causa
Questo problema si verifica perché il completamento della garbage collection in OLTP in memoria potrebbe richiedere molto tempo se si usa un indice di grandi dimensioni nell'esecuzione di una query.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 4 per SQL Server 2017
Aggiornamento cumulativo 7 per SQL Server 2016 SP1
Aggiornamento cumulativo 2 per SQL Server 2014 SP3
Nota Dopo aver installato questo aggiornamento, è necessario abilitare il flag di traccia (TF) 9945 per risolvere il problema. Per abilitare TF 9945, vedere l'argomento Trace Flags (Transact-SQL) su Microsoft Developer Network (MSDN).
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 2017
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologiautilizzata da Microsoft per descrivere gli aggiornamenti software.