O arquivo de log de transações cresce para bancos de dados com In-Memory OLTP em SQL Server 2022
Sintomas
Quando seus bancos de dados tiverem o recurso OLTP na memória habilitado no SQL Server 2022, você perceberá que o arquivo de log de transações cresce continuamente. Além disso, o log de erros SQL Server pode ter mensagens como Close thread is falling behind: 4 checkpoints outstanding
.
Se você reiniciar a instância SQL Server, poderá notar que o banco de dados leva muito tempo para concluir o processo de recuperação do banco de dados.
Solucionar problemas com sys.databases e sys.dm_db_xtp_checkpoint_stats
Quando você usa a exibição de catálogo sys.databases para coletar informações e solucionar problemas desse problema, a coluna
log_reuse_wait_desc
mostraXTP_CHECKPOINT
como o motivo da longa truncamento. Esse valor indica que o log de transações está aguardando a ocorrência de um ponto de verificação In-Memory OLTP (anteriormente conhecido como Hekaton). Ele sugere um atraso nas operações de ponto de verificação, potencialmente afetando o desempenho ou o crescimento do arquivo de log.Quando você usa o sys.dm_db_xtp_checkpoint_stats SQL Server modo de exibição de gerenciamento dinâmico (DMV) para coletar informações e solucionar esse problema, a coluna
outstanding_checkpoint_count
mostra um valor não zero por um longo período de tempo. Ele indica que os pontos de verificação não estão ocorrendo com eficiência, potencialmente afetando o desempenho e o crescimento do arquivo de log.
Motivo
SQL Server 2022 introduziu novos recursos que melhoram o gerenciamento de memória em servidores de memória grandes para reduzir as condições fora da memória. Um problema conhecido nessa alteração às vezes pode levar ao comportamento descrito na seção Sintomas .
Resolução
Para resolver o problema, siga estas etapas:
- Adicione -T9810 como o parâmetro de inicialização da instância SQL Server.
- Reinicie a instância.
- Emita um ponto de verificação, faça um backup de log, observe
log_reuse_wait_desc
e reduza o log se necessário para recuperar espaço.
Mais informações
O sinalizador de rastreamento 9810 desabilita o mecanismo OLTP In-Memory de recuperar a memória TLS (Thread Local Storage), revertendo para o comportamento de SQL Server 2019.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de