Hola, queria compartir con todos una experiencia que tuve el día de hoy y es que mientras estaba sacando un backup a una base de datos relativamente pequeña, y el proceso estaba demorando mucho tiempo y el causante de esa demora es algo que normalmente uno no toma en cuenta, y es el historial de backups de las bases de datos de nuestros servidores SQL Server. Muchas veces tenemos servidores que se encuentran corriendo ya varios años e incluso algunos configurados con log shipping lo cual aumente considerablemente nuestro historial de backups, y con el pasar del tiempo los procesos de backup y restore van haciendose mas lentos y es debido a que cada vez que se saca una backup a una base de datos, algunos registros son ingresados dentro de la base de datos de sistema MSDB, y con el pasar del tiempo esta base de datos puede llegar a ser bastante grande si es que no se hace un trabajo de depuracion regularmente.

Entonces ya habia encontrado el problema, ahora tenia que buscar una solucion al mismo y buscando en internet encontre este post de Brent Ozar, donde explica que el problema se puede solucionar haciendo uso del procedimiento almacenado sp_delete_backuphistory, el cual justamente se encarga de limpiar el historial de los backups.

Bueno para no tener este problema mas decidí crear un job que hiciera este trabajo regularmente para mantener activos solo hasta tres meses de historial de los backups. El código que use en el job es el siguiente:


USE msdb;
GO
DECLARE @v_MaxDateHistory DATETIME
SET
@v_MaxDateHistory = CONVERT(DATETIME,CONVERT(VARCHAR,DATEADD(MONTH,-3,GETDATE()),112))
EXEC sp_delete_backuphistory @v_MaxDateHistory;
GO

Bueno, espero que les haya sido de utilidad.

One thought on “Limpieza del Historial de Backups

  1. You put together a number of fantastic ideas within your article,
    “Limpieza del Historial de Backups « Memorias de un DBA”.

    I may become coming back to ur webpage eventually.

    Many thanks -Sabine

Comments are closed.