Truncado manual de los logs sin desmontar las bases de datos
Hola a todos,
Seguro que alguna vez os ha pasado que los logs de una base de datos han crecido demasiado y nos estamos quedando sin espacio en disco. Independientemente del motivo y su solución de este crecimiento de logs, si queremos liberar rápidamente el espacio en disco siempre hemos tenido la posibilidad de hacer un truncado manual de los logs mediante el siguiente procedimiento:
- Desmontar la base de datos
- Comprobar que está en un estado de cierre correcto: Clean Shutdown
- Mover los logs a otra ubicación o borrarlos directamente
- Montar la base de datos
Con el presente post y haciendo uso del script VSStester podremos hacer lo mismo pero sin necesidad de desmontar la base de datos, con lo que evitaremos la pérdida de conexión de los usuarios que tengan sus buzones en esta base de datos.
El propósito de este script no es el que se comenta en este post, el propósito del script es comprobar la funcionalidad y problemas que pudieran tener los mecanismos que utiliza Exchange para realizar el backup basado en VSS. En el siguiente post del grupo de producto (cuya lectura es altamente recomendable) se explica su funcionamiento.
En nuestro caso, únicamente lo vamos a ejecutar para que simule una copia de seguridad y trunque los logs de la base de datos. Es importante remarcar que el script no hace una copia de seguridad real, por lo que no podremos recuperar esos logs. Únicamente se recomienda utilizar el script para truncar los logs, no como método de copia de seguridad.
Además este script al simular una copia, trunca los logs en todos los servidores donde se encuentre esta base de datos, si está en DAG, no como en el procedimiento manual que ha de hacerse en todos los servidores manualmente.
Ejecutar el script en una consola de PowerShell de Exchange:
.\VSSTester.ps1
Seleccionar la opción 1 e indicar un directorio donde dejar la información recopilada durante la ejecución del script (que deberemos borrar cuando finalice).
Seleccionar la base de datos para realizar el backup (truncado de logs)
Elegir una unidad disponible (sin asignar) donde volcar el snapshot de la base de datos y los logs.
Eliminar la unidad del snapshot
Tras terminar podemos comprobar que el último backup completo de la base de datos se corresponde con el que se acaba de realizar y se han truncado los logs en todas las copias de la base de datos del DAG.
Espero que os sirva de utilidad esta información, así como el magnífico uso que podéis hacer de este maravilloso script para comprobar la funcionalidad de las copias de seguridad en Exchange.
Saludos!
Nacho Sánchez-Beato Paredes