Durante el diagnóstico de problemas con SQL Server, habitualmente es suficiente con la ejecución de trazas de SQL Profiler (y su posterior análisis) y la captura de determinados contadores de rendimiento (y su análisis posterior) con un monitor (ej: MOM2005, SCOM, Patrol, etc.). Sin embargo, en alguna ocasión surge la duda de averiguar qué ha ocurrido en una base de datos SQL Server explorando el LOG. Este capítulo explica las utilidades disponibles con el producto (fn_dblog y DBCC LOG), se incluyen consultas de ejemplo, y se incluye referencias a herramientas de terceros (Apex SQL Log, Log Explorer, SQL Log Rescue, ApexSQL Audit, Lumigent Audit DB, Omni Audit, SQLLog, Upscene SQL Log Manager). |
El contenido del LOG de SQL Server utiliza un formato propietario, bajo el cual, almacena la información de las modificaciones realizadas en la base de datos. En teoría no se ofrece ningún mecanismo para ver el contenido del LOG de una base de datos SQL Server. Sin embargo, existen dos métodos no documentados para conseguir obtener alguna información, siempre bajo la responsabilidad de cada uno:
Es importante tener en cuenta que una transacción en SQL Server se inicia con un registro en el LOG con el valor de LOP_BEGIN_XACT en el campo Operation, y finaliza con un registro con el valor LOP_COMMIT_XACT al finalizar confirmándose la transacción. Así, es habitual encontrar registros con el valor de LOP_INSERT_ROWS, LOP_MODIFY_ROW, y LOP_DELETE_ROWSen el campo Operation, al registrar las inserciones, actualizaciones y borrados de filas. Herramientas de Terceros para acceder al LOG de SQL Server Existen varias herramientas de terceros que permiten tanto explorar el contenido del LOG de SQL Server, incluso restaurar datos (deshacer transacciones). También existen herramientas, que son capaces de realizar tareas de este tipo sobre los ficheros de Backup de LOG (además de sobre los propios ficheros de LOG).
|
Comentarios
Publicar un comentario