Reducir archivos ldf

El archivo LDF de Microsof SQL es quien mantiene el registro de transacciones de la base de datos a la que está asociada.



En ciertas ocasiones nos podemos encontrar con estos archivos con un tamaño desmesurado y que no paran de crecer. En todos los casos que me he encontrado es porque la tarea de mantenimiento no funciona correctamente o simplemente es inexistente.

En la imagen observamos dos archivos: el que tiene la extensión mdf es el archivo que contiene los datos y el de extensión ldf es el que contiene el registro de transacciones de la base de datos.



Por el nombre de los archivos ponemos suponer que la base de datos a la que hacen referencia es una base de datos llamada Mensajeria, pero no lo deís por supuesto.

Para asegurarnos abrimos una consola de MS SQL y lanzamos lo siguiente:

USE Mensajeria
GO
SELECT physical_name FROM sys.database_files 

El resultado nos indicará la ruta de los archivos mdf y ldf que está usando esa base de datos.

Ahora tenemos que averiguar el tipo de recuperación que tiene la base de datos pues el comando varia si es Simple o Completa, lanzamos la siguiente consulta:

 SELECT name, recovery_model_desc FROM sys.databases WHERE name = 'Mensajeria'

También lo ponemos conocer mediante GUI, propiedades de la base de datos y Opciones



 Modo de recuperación SIMPLE

Lanzar un par de comandos CHEKPOINT para  que se graben en disco las páginas que tenga pendientes.
Después lanzamos el comando para reducir en modo simple:
DBCC SHRINKFILE(Mensajeria_log)

Modo de recuperación COMPLETO/FULL
Lanzamos lo siguiente
BACKUP LOG Mensajeria WITH TRUNCATE_ONLY
GO
DBCC SHRINKFILE(Mensajeria_log)


Y comprobamos que nuestro archivo de log se ha reducido considerablemente.


No hay comentarios:

Publicar un comentario