MSSQLSERVER_701MSSQLSERVER_701

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

DettagliDetails

Nome prodottoProduct Name SQL ServerSQL Server
ID eventoEvent ID 701701
Origine eventoEvent Source MSSQLSERVERMSSQLSERVER
ComponenteComponent SQLEngineSQLEngine
Nome simbolicoSymbolic Name NOSYSMEMNOSYSMEM
Testo del messaggioMessage Text Memoria di sistema insufficiente per l'esecuzione della query.There is insufficient system memory to run this query.

SpiegazioneExplanation

Non è stato possibile allocare memoria sufficiente per eseguire la query in SQL ServerSQL Server. SQL ServerSQL Server has failed to allocate sufficient memory to run the query. Le cause possono essere varie, tra cui impostazioni del sistema operativo, disponibilità della memoria fisica o limiti di memoria nel carico di lavoro corrente.This can be caused by a variety of reasons including operating system settings, physical memory availability, or memory limits on the current workload. Nella maggior parte dei casi la transazione che ha avuto esito negativo non è la causa dell'errore.In most cases, the transaction that failed is not the cause of this error.

Le query di diagnostica, ad esempio le istruzioni DBCC, possono avere esito negativo perché il server non dispone di memoria sufficiente.Diagnostic queries, such as DBCC statements, may fail because server the does not have sufficient memory.

Timeout durante l'attesa di risorse di memoria per l'esecuzione della query nel pool di risorse 'predefinito'.A timeout occurred while waiting for memory resources to execute the query in the resource pool 'default'.

Azione dell'utenteUser Action

Se non si utilizza Resource Governor, si consiglia di verificare lo stato generale del server e di caricare o controllare il pool di risorse o le impostazioni del gruppo del carico di lavoro.If you are not using Resource Governor, we recommend that you verify the overall server state and load, or check the resource pool or workload group settings.

Nell'elenco seguente viene illustrata la procedura generale per la risoluzione degli errori di memoria:The following list outlines general steps that will help in troubleshooting memory errors:

  1. Verificare se altre applicazioni o servizi utilizzano la memoria nel server specificato.Verify whether other applications or services are consuming memory on this server. Riconfigurare le applicazioni o i servizi meno critici per utilizzare una quantità di memoria inferiore.Reconfigure less critical applications or services to consume less memory.

  2. Iniziare a raccogliere i dati dei contatori di Performance Monitor per SQL ServerSQL Server: Gestione buffer e SQL Server: Gestione memoria.Start collecting performance monitor counters for SQL ServerSQL Server: Buffer Manager, SQL Server: Memory Manager.

  3. Verificare i seguenti parametri di configurazione della memoria di SQL Server:Check the following SQL Server memory configuration parameters:

    • max server memorymax server memory

    • min server memorymin server memory

    • min memory per querymin memory per query

    Valutare eventuali impostazioni non comuniNotice unusual settings. e, se necessario, correggerle.Correct them as necessary. Considerare i requisiti di memoria aggiuntivi.Account for increased memory requirements. Le impostazioni predefinite sono elencate nell'argomento "Impostazione delle opzioni di configurazione del server" nella documentazione online di SQL Server.Default settings are listed in "Setting Server Configuration Options" in SQL Server Books Online.

  4. Osservare l'output di DBCC MEMORYSTATUS e il modo in cui viene modificato quando vengono visualizzati questi messaggi di errore.Observe DBCC MEMORYSTATUS output and the way it changes when you see these error messages.

  5. Verificare il carico di lavoro (ad esempio, numero di sessioni simultanee, query attualmente in esecuzione).Check the workload (for example, number of concurrent sessions, currently executing queries).

Per aumentare la quantità di memoria disponibile per SQL ServerSQL Server, effettuare le operazioni seguenti:The following actions may make more memory available to SQL ServerSQL Server:

  • Se le risorse vengono utilizzate da altre applicazioni oltre a SQL ServerSQL Server, provare ad arrestarne l'esecuzione oppure a eseguirle in un server distinto.If applications besides SQL ServerSQL Server are consuming resources, try stopping running these applications or consider running them on a separate server. In questo modo sarà possibile eliminare le richieste di memoria esterne.This will remove external memory pressure.

  • Se è stata configurata l'opzione max server memory,, aumentarne il valore impostato.If you have configured max server memory, increase its setting.

Eseguire i comandi DBCC seguenti per liberare diverse cache in memoria di SQL ServerSQL Server.Run the following DBCC commands to free several SQL ServerSQL Server memory caches.

  • DBCC FREESYSTEMCACHEDBCC FREESYSTEMCACHE

  • DBCC FREESESSIONCACHEDBCC FREESESSIONCACHE

  • DBCC FREEPROCCACHEDBCC FREEPROCCACHE

Se il problema persiste, sarà necessario analizzarlo in modo più dettagliato e cercare di ridurre il carico di lavoro.If the problem continues, you will need to investigate further and possibly reduce workload.