MSSQLSERVER_8651

Data creazione: 17 luglio 2006

Dettagli

Nome prodotto

SQL Server

Versione prodotto

9.0

Numero di build del prodotto

9.00.1281.60

ID evento

8651

Origine evento

MSSQLSERVER

Componente

SQLEngine

Nome simbolico

MEMGRANT_ERR

Testo del messaggio

Impossibile eseguire l'operazione richiesta perché non è disponibile la quantità di memoria minima per la query. Diminuire il valore dell'opzione di configurazione del server 'min memory per query'.

Spiegazione

Altri processi stanno utilizzando la memoria del server, ovvero stanno inviando un numero eccessivo di richieste di memoria al server.

Azione utente

Diminuire il valore dell'opzione di configurazione del server 'min memory per query' oppure ridurre il carico di query inviate al server.

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 monitoraggio delle prestazioni per SQL Server: Gestione buffer, SQL Server: Gestione memoria.
  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 2005. Le impostazioni predefinite sono elencate in "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).

È possibile aumentare la quantità di memoria disponibile per SQL Server eseguendo le operazioni seguenti:

  • Se le risorse vengono utilizzate da altre applicazioni oltre a SQL Server, provare a interromperne l'esecuzione o 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.