KB2926223 - FIX: In ambienti NUMA si verificano problemi di prestazioni durante l'elaborazione di pagine esterne in SQL Server 2012 o SQL Server 2014

Si applica a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomi

Negli ambienti NUMA, Microsoft SQL Server presenta uno o più dei problemi di prestazioni seguenti:

  • In un processo di SQL Server si riscontra un utilizzo eccessivo della CPU.
  • Il completamento delle query richiede molto tempo.
  • I processi di applicazioni o di SQL Server Agent sperimentano timeout di query o di connessione.
  • Un processo di SQL Server viene riavviato dal Servizio cluster.

Inoltre, possono verificarsi i sintomi seguenti:

  • Valori elevati per il tipo di attesa SOS_PHYS_PAGE_CACHE quando si esegue una query sulla sys.dm_os_wait_stats Visualizzazione a gestione dinamica
  • Valori elevati per il tipo di attesa CMEMTHREAD e SOS_SUSPEND_QUEUE spinlock quando si esegue una query sulla DMV sys.dm_os_spinlock_stats

Risoluzione

Informazioni sull'aggiornamento cumulativo

Il problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente di SQL Server.

Aggiornamento cumulativo 2 per SQL Server 2014 /it-it/help/2967546

Aggiornamento cumulativo 1 per SQL Server 2014 /it-it/help/2931693

Aggiornamento cumulativo 9 per SQL Server 2012 SP1 /it-it/help/2931078

Informazioni sugli aggiornamenti cumulativi per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:

      

Informazioni sull'aggiornamento rapido (hotfix)
 Un aggiornamento rapido supportato è disponibile da Microsoft. Tuttavia, questo aggiornamento rapido (hotfix) ha lo scopo di correggere solo il problema descritto in questo articolo. Applica questo aggiornamento rapido (hotfix) solo ai sistemi in cui si verifica questo problema specifico.

Se l'hotfix è disponibile per il download, c'è una sezione "Download di hotfix disponibile" all'inizio di questo articolo della Knowledge Base. Se questa sezione non viene visualizzata, inviare una richiesta al servizio clienti e supporto tecnico Microsoft per ottenere l'aggiornamento rapido (hotfix).

Nota: se si verificano altri problemi o se è necessaria una risoluzione dei problemi, potrebbe essere necessario creare una richiesta di assistenza separata. I normali costi di supporto verranno applicati alle domande di supporto aggiuntive e ai problemi che non sono idonei per questo aggiornamento rapido specifico. Per un elenco completo dei numeri di telefono del servizio clienti e del supporto tecnico Microsoft o per creare una richiesta di servizio separata, visita il seguente sito Web Microsoft:

/contactus/?ws=support Nota: nel modulo "Download dell'aggiornamento rapido disponibile" vengono visualizzate le lingue per cui è disponibile l'aggiornamento rapido (hotfix). Se la lingua non è visualizzata, è perché non è disponibile un aggiornamento rapido (hotfix).

Importante: questa correzione è consigliata per qualsiasi istanza di SQL Server installata in un sistema NUMA, indipendentemente dalle impostazioni della maschera di affinità di SQL Server. Questa correzione risolve il collo di bottiglia delle prestazioni di elaborazione AWAY in Gestione memoria di SQL Server.
Il problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente di SQL Server.

Soluzione alternativa

Per risolvere questi problemi, aumentare i valori di accesso e timeout delle query per le applicazioni.

Nota: l'effetto di questa soluzione alternativa può essere limitato. È consigliabile applicare l'aggiornamento rapido (hotfix) per risolvere i problemi descritti nella sezione "Sintomi".

Stato

Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".

Altre informazioni

Quando la gestione della memoria di Microsoft SQL Server alloca la memoria per un nodo in ambienti abilitati per NUMA (Non-Uniform Memory Access), Windows può allocare memoria sia dai nodi locali che da quelli remoti (denominati pagine "Away" o "foreign") fino a raggiungere la destinazione desiderata per ogni nodo. Poiché queste "pagine Away" non sono ideali dal punto di vista delle prestazioni, il processo di SQL Server tenta di assegnare i buffer di assenza al nodo di memoria appropriato o di rilasciare queste pagine al sistema operativo. Questa "elaborazione AWAY" può essere faticosa per la CPU e portare a una riduzione della velocità batch durante un periodo di maggiore utilizzo della CPU.

Riferimenti

Per ulteriori informazioni su come comprendere il concetto di pagine esterne, visitare il seguente sito Web post di blog di MSDN:

Come funziona: SQL Server (blocchi di memoria NUMA locali, esterni e assenti)