El registro de transacciones para la base de datos 'database_name' está lleno debido a 'XTP_CHECKPOINT'


26

Tengo una pregunta acerca XTP_CHECKPOINT.

Estoy usando SQL Server 2014. Tengo una base de datos que está en modo de modelo de recuperación SIMPLE. También está siendo replicado.

No hay transacciones abiertas. He corrido DBCC OPENTRANy vuelve:

"No hay transacciones abiertas activas".

Pero sigo recibiendo este mensaje cada vez que intento crear o descartar una tabla o eliminar datos:
(he reemplazado el nombre real de mi base de datos con la palabra database_name)

"El registro de transacciones para la base de datos 'database_name' está lleno debido a 'XTP_CHECKPOINT'"

¿Alguien sabe por qué esto podría estar sucediendo y, lo que es más importante, cómo puedo hacer que se detenga?

Y sí, la base de datos realmente está en modo de modelo de recuperación SIMPLE. es decir, el registro de transacciones debería truncarse automáticamente.

Por cierto, otra base de datos que tengo en modo de recuperación completa hizo lo mismo, comenzó a devolver el mismo error:

El registro de transacciones para la base de datos 'database_name' está lleno debido a 'XTP_CHECKPOINT'

Traté de cambiar la configuración de crecimiento del registro a crecimiento ilimitado, pero no me permitió, devolviendo el mismo error.

Puedo reproducir el problema sin nada de XTP, excepto solo el grupo de archivos. Así es como: http://pastebin.com/jWSiEU9U

Respuestas:


8

Tuve un problema similar: no tenía replicación, pero una vez que usé la tabla Memory Optimized como prueba, la base de datos en modo de recuperación simple, pero mis registros de transacciones no se truncaron. El truncamiento manual, incluso justo después de una copia de seguridad completa, dio el error:

No se puede reducir el archivo de registro X porque el archivo de registro lógico ubicado al final del archivo está en uso.

Un punto de control manual falló:

Msg 41315, Nivel 16, Estado 4, la operación de punto de control de línea N falló en la base de datos X

Un punto de control manual solo tuvo éxito justo después de reiniciar el servicio SQL, lo que llevaría a un estado de recuperación de 4 horas debido al tamaño de mi base de datos Multi Tb. También intenté establecer el crecimiento automático en un tamaño específico, pero todo terminó haciendo lo mismo: llene los registros de transacciones hasta que no quede espacio.

Finalmente, después de días y noches intentando e investigando, encontré la solución para mi problema instalando la actualización acumulativa 3 para SQL Server 2014 SP1


9

Primero asegúrese de que la replicación no esté causando esto, como se indica en el elemento de conexión, "log_wait_reuse_desc = XTP_CHECKPOINT no necesariamente significa que el trabajador del punto de control XTP está reteniendo el truncamiento del registro". comience por ejecutar sp_repltransy asegúrese de que todos los datos se hayan distribuido.

Luego está este pequeño fragmento aquí:

"sucede en una base de datos, que tiene un grupo de archivos con memoria optimizada, sin importar que haya tablas con memoria optimizada o no.

La solución actual actual es que AutoGrown tenga un tamaño fijo. O bien, cambiar el modo de recuperación para que sea Simple y reducir el registro ".

Entonces, si limpiar la replicación no funciona, intente lo siguiente:

checkpoint;
dbcc shrinkfile (Logfile, truncateonly)
alter database [database] modify file (filename = 'TRANSACTIONLOG', FILEGROWTH = 5MB)

No se indica si esto es para el archivo de registro o los archivos de la base de datos, pero comencemos probando los archivos de registro y si no, intente configurar los archivos de la base de datos para un crecimiento fijo:


3

Pude solucionar el problema agregando otro archivo de registro, que luego me permitió ejecutar una copia de seguridad completa, ajustar el tamaño del archivo de registro primario y limitar el crecimiento junto con eliminar el archivo de registro adicional agregado para resolver el problema XTP_CHECKPOINT.


1

He experimentado esto con un cliente. El registro y los archivos de datos FILESTREAM en memoria estaban en la misma unidad. Crearon un nuevo archivo de registro (algunos sugirieron esto) pero el sistema no puede CHECKPOINT ya que no puede crear los archivos de punto de control en memoria (* .HKCKP).

Intente liberar espacio en la unidad con los datos de FILESTREAM en memoria.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.