SQL Server, ideas y experiencias

Relación entre el log de transacciones (Transaction Log) y la captura de datos modificados (Change Data Capture)

por Jose Mariano Alvarez 25. julio 2010

Pequeño aumento de I/O en el Log de Transacciones.

En primer lugar, debemos tener en cuenta que, existe un pequeño aumento del I/O en los archivos del Log de Transacciones si la captura de datos modificados o Change Data Capture (CDC)  está habilitado en la base de datos. Esto ocurre debido a que se deben leer los datos de los cambios desde estos archivos del log de transacciones para poder identificar los cambios e incorporarlos en las tablas de captura. Además cuando corre el proceso o job de limpieza, se eliminan registros de las tablas de captura relacionadas y el log de transacciones también debe ser actualizado para respetar las reglas de las transacciones de las bases de datos.

Consecuencias de la captura de datos modificados o Change Data Capture en la reutilización de las entradas en el log de transacciones.

Cuando usamos una base de datos, una de las cosas que debiéramos tomar en cuenta es el tamaño que va a tener nuestro  registro o log de transacciones (Transaction Log). Para el correcto control del tamaño de los archivos que lo componen, si el modelo de recuperación es full, se realizan periódicamente tareas administrativas como el backup (o copia de seguridad) del log de transacciones. Esta tarea permite que en condiciones normales el mismo no crezca sin control ya que al completar la copia se pueden reutilizar las entradas y no hace falta que siga creciendo. Otra de las alternativas usadas es el modelo de recuperación simple que marca las transacciones completadas y grabadas en los archivos de datos como reutilizables lo que minimiza el uso del mismo a expensas de tener más posibilidades de recuperar datos en caso de una falla.

Es importante señalar que la captura de datos modificados o Change Data Capture (CDC) funciona correctamente en todos los modelos de recuperación. Cuando el CDC está habilitado en los modelos de recuperación simple o bulk-logged, los cambios realizados por las operaciones que normalmente se registran mínimamente, pasan a ser totalmente registrados en el log de transacciones para permitir la captura de todos los datos modificados. Además, cuando usamos la Captura de Datos Modificados o Change Data Capture se producen cambios en cómo se marcan las entradas que pueden reutilizarse en el log de transacciones. 

Si vemos con más detalle lo que ocurre, veremos que  los registros del log de transacciones permanecen activos hasta que el CDC los ha procesado. Esto significa, que en entornos en los que hay una gran tasa de cambios o la latencia de captura es grande, cuando el CDC no procesa frecuentemente las entradas de log de transacciones,  se acumulan entradas no reutilizables en el archivo del log de transacciones y por lo tanto este debe crecer porque el espacio no se puede reutilizar . Esto puede ocurrir tanto en el modelo de recuperación simple como después de un backuo o copia de seguridad de log de transacciones en el modelo de recuperación full (completa).

Consecuencias del log de transacciones lleno

Cuando un disco donde está el registro de transacciones se llena, no se puede reducir el tamaño del archivo del log de transacciones usando el comando shrink, hasta que la Captura de Datos Modificados o Change Data Capture (CDC) ha procesado todas las transacciones involucradas.  El problema es que el CDC no puede procesar las transacciones cuando los discos donde está el log de transacciones está lleno (o no puede crecer), porque el CDC inserta registros en las tablas de captura y estas operaciones también deben registrarse en el LOG de transacciones.

Si el problema es el espacio en el disco, la forma más fácil de recuperarse de esta situación es añadir otro archivo al log de transacciones,al menos de manera temporal, en un disco diferente donde haya espacio.

Tags: ,

Artículos

Powered by SQL Total Consulting


View Jose Mariano Alvarez's profile on LinkedIn

 Add to Technorati Favorites 

Calendar

<<  mayo 2017  >>
lumamijuvido
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar

Locations of visitors to this page

Widget Twitter not found.

Root element is missing.X


Valid XHTML 1.0 Transitional

Valid CSS!