SQL – Controlar crecimiento del registro de transacciones

Si estás leyendo esto es porque tu registro transacciones no para de crecer y por tanto tienes mal configurado tu sistema de copias de seguridad!!!

SQL Server nos ofrece varios modos de recuperación de las bases de datos (propiedades – opciones – modo de recuperación).

Si seleccionas el modo SIMPLE, y luego reduces el tamaño de la base de datos, verás que tu registro de transacciones pasa a ocupar un valor mínimo, recuperando ese espacio en disco que necesitabas. Pero, sin embargo perderás otras ventajas:

  • Modo SIMPLE: Usar para bases de datos pequeñas, un las que solo queramos recuperar los datos desde la última copia de seguridad realizada. Cada vez que hagamos una copia lo haremos de la base completa, y en bases de datos grandes esto no es operativo.
  • Modo COMPLETO: Es el método recomendado y el único válido si has realizado mirroring. El registro de transacciones guarda TODO lo necesario para restaurar en cualquier punto temporal desde la última copia de seguridad. Por tanto, podremos recuperar todo hasta el momento deseado.

Pero entonces ¿cómo reducir el registro?: Simplemente realizar una copia del registro de transacciones y reducir el tamaño de la base de datos. Es decir, en bases de datos grandes, la estrategia debería ser algo así como:

  • Colocar en modo de recuperación completa.
  • Copia esporádica de la base de datos completa + copia del registro de transacciones: Lenta y pesada. Una vez a la semana en Domingo por ejemplo.
  • Reducción de la base de datos. Tras la copia completa.
  • Copias frecuentes del registro de transacciones: Rápida y ligera. Cada 30 minutos por ejemplo. Solo copia las transacciones desde la última copia.

Con ese esquema podremos restaurar copias a cualquier momento exacto y además las copias volarán, sin que nuestro registro de transacciones crezca indefinidamente.

Además así evitaremos que los usuarios se quejen de velocidad el en el momento en que hacemos las copias, ya que ni se enterarán.