sp_MSForEachDb 'IF LOWER(''?'') NOT IN (''master'', ''tempdb'', ''tempdev'', ''model'', ''msdb'') BEGIN declare @LogFile nvarchar(2000) declare @ExeString nvarchar(2000) USE [?] SELECT @LogFile = sys.sysaltfiles.name FROM sys.sysdatabases INNER JOIN sys.sysaltfiles ON sys.sysdatabases.dbid = sys.sysaltfiles.dbid WHERE (sys.sysaltfiles.fileid = 1) AND (sys.sysdatabases.name = ''?'') print @LogFile ALTER DATABASE [?] SET RECOVERY SIMPLE DBCC SHRINKFILE (@LogFile, 1) ALTER DATABASE [?] SET RECOVERY FULL END'But kill me for TempDB :-)))