Applies ToSQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Sintomi

Si supponga di installare la versione a 64 bit di Microsoft SQL Server 2014, 2016 o 2017 in un computer in cui è in esecuzione Windows Server 2012 o una versione precedente del sistema operativo Windows. Quando SQL Server usa tutti gli spazi degli indirizzi virtuali in modalità utente, è possibile che venga visualizzato un messaggio di errore di memoria insufficiente nel log degli errori di SQL Server. Inoltre, le query impiegano molto tempo per completare l'esecuzione e si verifica l'attesa SOS_MEMORY_TOPLEVELBLOCKALLOCATOR.

Quando si esaminano i punti di informazioni seguenti, si verifica che lo spazio degli indirizzi virtuali disponibile è molto basso:

  • Guida alla sezione DBCC MEMORYSTATUS-Process/System counts-memoria virtuale disponibile

  • DMV: sys.dm_os_process_memory-colonna virtual_address_space_available_kb

Questi valori iniziano per circa 8 terabyte (TB) in un processo x64 e continuano a scendere fino a raggiungere alcuni gigabyte (GB).

Quando ci si trova nella fase in cui lo spazio degli indirizzi virtuali disponibile è molto basso, le query che provano a eseguire l'allocazione della memoria possono anche incontrare un tipo di attesa di CMEMTHREAD.

I punti dati seguenti continueranno a essere aumentati nel tempo:

  • DMV: sys.dm_os_process_memory e sys.dm_os_memory_nodes-Column virtual_address_space_reserved_kb

  • DBCC MEMORYSTATUS-sezione Gestione memoria-VM riservata

Questi valori vengono in genere aumentati in multipli del valore "max server memory" fino a quasi 8 TB.

Nota il problema correlato è descritto anche in KB 3074434

Risoluzione

Questo aggiornamento è incluso nei seguenti aggiornamenti cumulativi per SQL Server:

      Aggiornamento cumulativo 4 per SQL Server 2017

      Aggiornamento cumulativo 8 per SQL Server 2016 SP1  

      Aggiornamento cumulativo 10 per SQL Server 2014 Service Pack 2

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:

Ultimo aggiornamento cumulativo per SQL Server 2017

Ultimo aggiornamento cumulativo per SQL Server 2016

Ultimo aggiornamento cumulativo per SQL Server 2014

Nota Dopo aver applicato questo aggiornamento, è necessario aggiungere il flag di traccia 8075 come parametro di avvio per abilitare la modifica.

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.

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.