Condividi tramite


MSSQLSERVER_701

Dettagli

Nome prodotto

SQL Server

Versione prodotto

10.0

Numero di build del prodotto

10.00.0000.00

ID evento

701

Origine evento

MSSQLSERVER

Componente

SQLEngine

Nome simbolico

NOSYSMEM

Testo del messaggio

Memoria di sistema insufficiente nel pool di risorse '%ls' per l'esecuzione della query.

Spiegazione

Non è stato possibile allocare memoria sufficiente per eseguire la query in SQL Server. Le cause possono essere varie, tra cui impostazioni del sistema operativo, disponibilità della memoria fisica o limiti di memoria nel carico di lavoro corrente. Nella maggior parte dei casi la transazione che ha avuto esito negativo non è la causa dell'errore.

Le query di diagnostica, ad esempio le istruzioni DBCC, possono avere esito negativo perché il server non dispone di memoria sufficiente.

Azione utente

Nell'elenco seguente viene illustrata la procedura generale per la risoluzione degli errori di memoria:

  1. Verificare se altre applicazioni o servizi utilizzano la memoria nel server specificato. Riconfigurare le applicazioni o i servizi meno critici per utilizzare una quantità di memoria inferiore.

  2. Iniziare a raccogliere i dati dei contatori di Performance Monitor per SQL Server**: Gestione buffer** e SQL Server: Gestione manager.

  3. Verificare i seguenti parametri di configurazione della memoria di SQL Server:

    • max server memory

    • min server memory

    • awe enabled

    • min memory per query

    Valutare eventuali impostazioni non comuni e, se necessario, correggerle. Considerare i requisiti di memoria aggiuntivi per SQL Server 2008. Le impostazioni predefinite sono elencate nell'argomento "Impostazione delle opzioni di configurazione del server" nella documentazione in linea di SQL Server.

  4. Se si utilizzano le estensioni AWE (Address Windowing Extensions), verificare che l'impostazione di protezione di Windows Blocco di pagine in memoria sia attivata.

  5. Osservare l'output di DBCC MEMORYSTATUS e il modo in cui viene modificato quando vengono visualizzati questi messaggi di errore.

  6. Verificare il carico di lavoro (ad esempio, numero di sessioni simultanee, query attualmente in esecuzione).

Per aumentare la quantità di memoria disponibile per SQL Server, effettuare le operazioni seguenti:

  • Se le risorse vengono utilizzate da altre applicazioni oltre a SQL Server, provare a interromperne l'esecuzione oppure a eseguirle in un server distinto. In questo modo sarà possibile eliminare le richieste di memoria esterne.

  • Se è stata configurata l'opzione max server memory, aumentarne il valore impostato.

Eseguire i comandi DBCC seguenti per liberare diverse cache in memoria di SQL Server.

  • DBCC FREESYSTEMCACHE

  • DBCC FREESESSIONCACHE

  • DBCC FREEPROCCACHE

Se il problema persiste, sarà necessario analizzarlo in modo più dettagliato e cercare di ridurre il carico di lavoro.