Compartir a través de


Problemas de interoperabilidad entre el procesamiento por lotes y el modelo de memoria de página grande

Este artículo le ayuda a resolver los problemas de rendimiento y estabilidad que surgen del uso del procesamiento por lotes en el almacén de columnas y el almacén de filas con un modelo de memoria de página grande en SQL Server.

Versión original del producto: SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, SQL Server 2022
Número de KB original: 3210239

Síntomas

En este escenario, experimentará uno o varios de los siguientes problemas:

  • Error del Programador que no produce resultados y volcados de memoria asociados en el registro de errores de SQL Server.

  • Las consultas que usan el procesamiento en modo por lotes pueden encontrarse con graves problemas de rendimiento.

  • Excepciones de infracción de acceso y volcados de memoria asociados en el registro de errores de SQL Server.

  • Es posible que vea el siguiente mensaje de error al ejecutar sp_createstats:

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

Solución alternativa

Para mitigar estos problemas, pruebe o ambos de los dos métodos siguientes:

  • Deshabilite el modelo de memoria de página grande quitando la marca de seguimiento 834 (-T834) de SQL Server parámetros de inicio en la instancia de SQL Server. Al completar este paso, SQL Server deja de usar un large page modelo de memoria y vuelve a un conventional modelo de memoria o lock pages .

  • Si no usa índices de almacén de columnas en el SQL Server y experimenta los síntomas descritos, puede deshabilitar el modo por lotes en el almacén de filas en el nivel de base de datos mediante ALTER DATABASE SCOPED CONFIGURATION SET BATCH_MODE_ON_ROWSTORE = OFF. Para obtener más información, vea ALTER DATABASE SCOPED CONFIGURATION.

Más información