Reducir registro de transacciones SQL Server

Hoy nos ha llamado un cliente con un problema grave. El disco duro de su Servidor SQL Server estaba prácticamente al 100% de su tamaño ocupado.

Revisando los discos donde están alojadas sus Bases de Datos observamos que el fichero de transacciones de una de sus Bases de Datos tiene un tamaño de mas de 20GB y ocupando prácticamente la totalidad del disco duro.

Las Bases de datos de SQL Server trabaja principalmente con dos ficheros, uno de estos ficheros es donde estarán almacenados los datos de nuestras tablas, vistas y demás objetos (el cual tiene extensión *.mdf) y el otro es el fichero de transacciones (el cual tiene extensión *.ldf). El fichero de transacciones consiste en una serie de registros de todas las modificaciones de la base de datos y de la transacción que ha realizado cada modificación. En el registro de transacciones figura el inicio de cada transacción. También registra los cambios de los datos y facilita suficiente información para deshacer las modificaciones, (si fuera necesario posteriormente), realizadas durante cada transacción.

Podemos reducir el fichero de transacciones desde línea de comandos o bien desde SQL Management Studio.

Desde línea de comando:

USE MiBasedeDatos
CHECKPOINT
EXEC sp_addumpdevice ‘disk’, ‘CopiaMiBasedeDatos’, ‘unidaddestino:LogMiBasedeDatos.bak’
BACKUP DATABASE MiBasedeDatos TO CopiaMiBasedeDatos
BACKUP LOG MiBasedeDatos WITH TRUNCATE_ONLY
DBCC SHRINKFILE (MiBasedeDatos_Log, 100)

En estos pasos realizamos un Backup de la base de datos y fichero transaccional, a continuación con el parámetro 100 establecemos el tamaño del fichero transaccional que en este caso serían 100MB.

Podéis obtener más información del comando DBCC en el siguiente enlace DBCC SHRINKFILE

Otra opción más sencilla para realizar este trabajo es desde Management Studio opción Tareas -> Reducir

REDUCIR

En este cliente la última opción que hemos realizado es limitar el crecimiento del fichero de transacciones. Para ello hemos utilizado Management Studio. Propiedades de la Base de datos, Archivos, Crecimiento Automático, Cambiar.

Hemos indicado el tamaño máximo de 100MB para el Registro de transacciones.

crecimiento

Espero que os sirva de ayuda.