Compartilhar via


Problemas de interoperabilidade entre o processamento em modo de lote e o modelo de memória de página grande

Este artigo ajuda você a resolver os problemas de desempenho e estabilidade que surgem do uso do processamento em modo de lote no columnstore e rowstore com modelo de memória de página grande no SQL Server.

Versão original do produto: SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, SQL Server 2022
Número original do KB: 3210239

Sintomas

  • Em uma instância do SQL Server, você usa o sinalizador de rastreamento 834 ou o sinalizador de rastreamento 876 como um sinalizador de inicialização. Você pode ter feito essa operação para habilitar alocações de páginas grandes pelo gerenciador de memória do SQL Server para melhorar o desempenho da instância de 64 bits.

  • Você usa os índices columnstore ou o processamento do modo de lote no rowstore.

Nesse cenário, você enfrenta um ou mais dos seguintes problemas:

  • Um erro do Agendador não produtivo e despejos de memória associados no log de erros do SQL Server.

  • As consultas que usam o processamento em modo de lote podem ter problemas graves de desempenho.

  • Exceções de violação de acesso e despejos de memória associados no log de erros do SQL Server.

  • Você pode ver a seguinte mensagem de erro ao executar sp_createstats:

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

Solução alternativa

Para atenuar esses problemas, tente um ou ambos os métodos a seguir:

  • Desabilite o modelo de memória de página grande removendo o sinalizador de rastreamento 834 (-T834) dos parâmetros de inicialização do SQL Server na instância do SQL Server. Quando você conclui esta etapa, o SQL Server para de usar um modelo de large page memória e reverte para um modelo de conventional memória ou lock pages .

  • Se você não usar índices columnstore no SQL Server e tiver os sintomas descritos, poderá desabilitar o modo de lote no rowstore no nível do banco de dados usando ALTER DATABASE SCOPED CONFIGURATION SET BATCH_MODE_ON_ROWSTORE = OFFo . Para obter mais informações, veja ALTERAR A CONFIGURAÇÃO NO ESCOPO DO BANCO DE DADOS.

Mais informações