USE [master]
DECLARE @dbname NVARCHAR(MAX) -- database name
DECLARE @logname NVARCHAR(MAX) -- log name
declare db_cursor CURSOR FOR
select f.name as logname, d.name as dbname
from sys.master_files f
inner join sys.databases d on f.database_id = d.database_id
where f.type_desc = 'LOG'
and f.file_guid is not null
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @logname, @dbname
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'use [' + @dbname + '];'
PRINT 'go'
PRINT 'DBCC SHRINKFILE (N''' + @logname + ''' , 0, TRUNCATEONLY);'
PRINT 'go'
FETCH NEXT FROM db_cursor INTO @logname, @dbname
END
CLOSE db_cursor
DEALLOCATE db_cursor
Comments