Cómo reducir el tamaño del archivo de Log de SQL Server

SI nuestro archivo de log es muy grande probablemente tengamos problemas con el espacio en el disco más pronto que tarde.

Si nuestra base de datos tiene muchas transacciones pero maneja poco volumen de datos, es común que tengamos un archivo de datos (.mdf) relativamente pequeño y un archivo de log bastante más grande (.ldf).

Una de las operaciones más comunes para achicar el tamaño del archivo de log es recurrir a la opción Tasks > Shrink > Files del SQL Server Management Studio.

En la lista File type escogeremos entonces Log y luego nos mostrará en Available free space cuanto espacio se puede liberar. Para ejecutar la operación, hacer click en OK.

Sin embargo, es posible que ejecutes la operación Shrink File pero el tamaño del log no se reduce.

En este caso hay una alternativa que podemos emplear en el caso de bases de datos que NO son de producción: Para esto hacemos click derecho sobre la base de datos y elegimos Properties y luego Options. En la opción Recovery Mode nos aseguramos que diga Simple (no Full). Luego procedemos a hacer el Shrink como explicamos arriba.

Alternativamente podemos ejecutarlo en Transact-SQL:

ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (mydatabase_Log, 1)

Tengamos en cuenta que el Recovery Mode afecta la posibilidad de restaurar una base en el futuro ya que en los logs se guarda la información de todas las transacciones. Si queremos poder volver a restaurar la base a un estado pasado en el futuro, tenemos que asegurarnos de hacer una copia de seguridad del archivo de log.

 

Author: Marcelo Ruiz

Marcelo has been working as a software developer for more than 15 years. He has participated in projects for companies in USA, Mexico, Argentina, Europe and Africa. He is skilled with Microsoft technologies such as ASP.NET, MVC, C#, WCF and SQL Server, among others.

Leave a Reply

Your email address will not be published. Required fields are marked *