Condividi tramite


Problemi di interoperabilità tra l'elaborazione in modalità batch e il modello di memoria di pagine di grandi dimensioni

Questo articolo illustra come risolvere i problemi di prestazioni e stabilità derivanti dall'uso dell'elaborazione in modalità batch in columnstore e rowstore con modello di memoria a pagine di grandi dimensioni in SQL Server.

Versione originale del prodotto: SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, SQL Server 2022
Numero KB originale: 3210239

Sintomi

In questo scenario si verificano uno o più dei problemi seguenti:

  • Errore dell'Utilità di pianificazione senza rendimento e dump di memoria associati nel log degli errori di SQL Server.

  • Le query che usano l'elaborazione in modalità batch possono verificarsi gravi problemi di prestazioni.

  • Eccezioni di violazione di accesso e dump di memoria associati nel log degli errori di SQL Server.

  • Quando si esegue sp_createstatsè possibile che venga visualizzato il messaggio di errore seguente:

    There is insufficient system memory in resource pool 'default' to run this query
    

Soluzione alternativa

Per attenuare questi problemi, provare o entrambi i due metodi seguenti:

  • Disabilitare il modello di memoria di grandi pagine rimuovendo il flag di traccia 834 (-T834) dai parametri di avvio di SQL Server nell'istanza di SQL Server. Al termine di questo passaggio, SQL Server smette di usare un large page modello di memoria e ripristina un conventional modello di memoria o lock pages .

  • Se non si usano indici columnstore in SQL Server e si verificano i sintomi descritti, è possibile disabilitare la modalità batch su rowstore a livello di database usando ALTER DATABASE SCOPED CONFIGURATION SET BATCH_MODE_ON_ROWSTORE = OFF. Per altre informazioni, vedere ALTER DATABASE SCOPED CONFIGURATION.

Ulteriori informazioni