Sintomi
Quando si utilizza una nuova istanza di Microsoft SQL Server 2016 (o 2017) o un'istanza di SQL Server 2016 (o 2017) aggiornata da una versione precedente di SQL Server, si verificano problemi di prestazioni a causa di un utilizzo elevato della CPU. Inoltre, se si esegue una query sulla tabella sys.dm_os_spinlock_stats , si noterà un valore elevato nella colonna di rotazione per le righe SECURITY_CACHE (cache di sicurezza) e CMED_HASH_SET (cache dei metadati) rispetto ad altre righe della tabella. Ad esempio, si notano i valori seguenti.
Causa
Questo problema si verifica a causa della contesa del blocco di spin elevato in un sistema altamente simultaneo. In questi sistemi operativi, più thread CPU sono in competizione per le risorse e ruotano per un intervallo esteso mentre vengono eseguiti periodicamente in un ciclo per determinare se la risorsa è disponibile invece di cedere immediatamente. Quando più thread della CPU continuano a ruotare (in un ciclo di tempo ) per una risorsa invece di cedere, ciò causa un utilizzo elevato della CPU e problemi di prestazioni.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Note Dopo aver applicato SQL Server 2016 aggiornamento cumulativo 2 (CU2), i nomi di SECURITY_CACHE e CMED_HASH_SET vengono modificati rispettivamente in LOCK_RW_SECURITY_CACHE e LOCK_RW_CMED_HASH_SET. Dopo l'applicazione di CU2, i valori vengono visualizzati come segue.
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:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.
Il white paper Diagnosing and Resolving Spinlock Contention on SQL Server descrive in dettaglio i problemi e le risoluzioni correlati alla contesa spinlock.