Skip to content
MeshLab
All posts

Shrink All Database Logs Files - MSSQL

Mesh
DECLARE @sqlcommand NVARCHAR(500)
DECLARE @getid CURSOR
SET @getid = CURSOR FOR 
SELECT 
      'USE [' + d.name + N']; ALTER DATABASE [' + d.name + N'] SET RECOVERY SIMPLE; DBCC SHRINKFILE (' + mf.name + ' , 1, TRUNCATEONLY);'
FROM 
    sys.master_files mf 
    JOIN sys.databases d 
    ON mf.database_id = d.database_id 
WHERE mf.type_desc = 'LOG' AND  d.name not in ('master','model','tempdb','msdb');
OPEN @getid
FETCH NEXT
FROM @getid INTO @sqlcommand
WHILE @@FETCH_STATUS = 0
BEGIN
    EXEC(@sqlcommand)
    FETCH NEXT
    FROM @getid INTO @sqlcommand
END
CLOSE @getid
DEALLOCATE @getid

Comments 0

Sign in to join the conversation.

No comments yet. Start the conversation.