Eccezione "System. OutOfMemoryException" quando si esegue una query in SQL Server Management Studio

Sintomi

Quando si usa Microsoft SQL Server Management Studio (SSMS) per eseguire una query SQL che restituisce una grande quantità di dati, viene visualizzato un messaggio di errore analogo al seguente:

Si è verificato un errore durante l'esecuzione del batch. Messaggio di errore: eccezione di tipo "System. OutOfMemoryException" generata

Causa

Questo problema si verifica perché SSMS ha memoria insufficiente da allocare per ottenere risultati di grandi dimensioni.Nota SSMS è un processo a 32 bit. Di conseguenza, è limitata a 2 GB di memoria. SSMS impone un limite artificiale alla quantità di testo che può essere visualizzato per ogni campo del database nella finestra dei risultati. Questo limite è 64 KB in modalità "Grid" e 8 KB nella modalità "testo". Se il set di risultati è troppo grande, la memoria necessaria per visualizzare i risultati della query potrebbe superare il limite di 2 GB del processo di SSMS. Di conseguenza, un set di risultati di grandi dimensioni può causare l'errore menzionato nella sezione "Sintomi".

Soluzione alternativa

Per risolvere il problema, provare uno dei metodi seguenti.

Metodo 1: restituire i risultati come testo

Configurare la finestra della query in modo che i risultati della query vengano restituiti come testo. Un output di testo usa meno memoria della griglia e può essere sufficiente per visualizzare i risultati della query. Per apportare questa modifica, eseguire le operazioni seguenti:

  1. Fare clic con il pulsante destro del mouse sulla finestra query.

  2. Fare clic su risultati.

  3. Fare clic su Risultati in testo.

Metodo 2: generare i risultati in un file

Configurare la finestra della query per l'output dei risultati della query in un file. Un output di file usa una quantità minima di memoria. Questa operazione riserva più memoria per l'archiviazione del set di risultati. Per apportare questa modifica, eseguire le operazioni seguenti:

  1. Fare clic con il pulsante destro del mouse sulla finestra query.

  2. Fare clic su risultati.

  3. Fare clic su Risultati in file.

  4. Eseguire la query e quindi selezionare la posizione in cui salvare il file dei risultati.

Metodo 3: usare sqlcmd

USA lo strumento sqlcmd invece di SSMS per eseguire le query SQL. Questo metodo consente di eseguire query senza le risorse necessarie per l'interfaccia utente di SSMS. È inoltre possibile usare la versione a 64 bit di sqlcmd. exe per evitare la restrizione della memoria che influisce sul processo di SSMS di 32 bit.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×