El archivo de registro de transacciones crece para las bases de datos con In-Memory OLTP en SQL Server 2022
Síntomas
Cuando las bases de datos tienen habilitada la característica OLTP en memoria en SQL Server 2022, observará que el archivo de registro de transacciones crece continuamente. Además, el registro de errores de SQL Server podría tener mensajes como Close thread is falling behind: 4 checkpoints outstanding
.
Si reinicia la instancia de SQL Server, es posible que observe que la base de datos tarda mucho tiempo en completar el proceso de recuperación de la base de datos.
Solución del problema con sys.databases y sys.dm_db_xtp_checkpoint_stats
Cuando se usa la vista de catálogo sys.databases para recopilar información y solucionar este problema, la columna
log_reuse_wait_desc
se muestraXTP_CHECKPOINT
como el motivo del truncamiento largo. Este valor indica que el registro de transacciones está esperando a que se produzca un punto de control OLTP de In-Memory (anteriormente conocido como Hekaton). Sugiere un retraso en las operaciones de puntos de control, lo que podría afectar al rendimiento o al crecimiento del archivo de registro.Cuando se usa la vista de administración dinámica (DMV) de SQL Server sys.dm_db_xtp_checkpoint_stats para recopilar información y solucionar este problema, la columna
outstanding_checkpoint_count
muestra un valor distinto de cero durante un período de tiempo prolongado. Indica que los puntos de control no se producen de forma eficaz, lo que puede afectar al rendimiento y al crecimiento del archivo de registro.
Causa
SQL Server 2022 introdujo nuevas funcionalidades que mejoran la administración de memoria en servidores de memoria grandes para reducir las condiciones de memoria insuficiente. Un problema conocido en este cambio a veces puede provocar el comportamiento descrito en la sección Síntomas .
Solución
Para solucionar el problema, siga estos pasos:
- Agregue -T9810 como parámetro de inicio para la instancia de SQL Server.
- Reinicie la instancia.
- Emita un punto de control, realice una copia de seguridad de registros, observe
log_reuse_wait_desc
y reduzca el registro si es necesario para recuperar espacio.
Más información
La marca de seguimiento 9810 deshabilita la In-Memory motor OLTP de reclamar memoria de almacenamiento local de subprocesos (TLS), revirtiendo al comportamiento de SQL Server 2019.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de