Limpiar logs de SQL Server

Como todas las bases de datos generan Logs continuos de todos los cambios que se van realizando, pero ellos mismos no son capaces de borrar todos esos logs generados.

Para ello hacer una limpieza de vez en cuando, no viene nada mal y tu servidor lo agradecerá.

Con esta consulta revisara todas las bases de datos:

SELECT 
	  'USE [' + d.name + N']' + CHAR(13) + CHAR(10) 
    + 'ALTER DATABASE "' + d.name + '" set recovery simple' + CHAR(13) + CHAR(10) 
    + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) 
    + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) 
    + 'CHECKPOINT'
    + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) 
    + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) 
    + 'DBCC SHRINKFILE (''' + mf.name + N''' , 1)' 
    + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) 
    + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) 
    + 'ALTER DATABASE "' + d.name + '" set recovery full'
    + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) 
FROM 
         sys.master_files mf 
    JOIN sys.databases d 
        ON mf.database_id = d.database_id 
WHERE d.database_id > 4 and d.state_desc='ONLINE';

Con el resultado que te haya dado esa consulta, copiamos y lo ejecutamos como otra consulta para que limpie todos los logs de las bases de datos.

Este proceso puede tardar dependiendo de las bases de datos y de logs que tengas en tu servidor.

Comando IT