Sp_helptext 'SP _ msforeachdb'
Declare @ ssql nvarchar (4000)
Set @ ssql ='
If ''? ''Not in (''tempdb'', ''master'', ''model'', ''msdb'') begin
Use [?]
Declare @ tsql nvarchar (4000) set @ tsql = ''''
Declare @ iLogFile int
Declare @ sLogFileName varchar (55)
Declare @ RecoveryModel nvarchar (10)
Declare LogFiles cursor
Select fileid from sysfiles where status & 0x40 = 0x40
Open LogFiles
Fetch next from LogFiles into @ iLogFile
While @ fetch_status = 0
Begin
Set @ tsql = @ tsql + ''dbcc SHRINKFILE (''+ cast (@ iLogFile as varchar (5) +'', 10 )''
Fetch next from LogFiles into @ iLogFile
End
Select @ RecoveryModel = CONVERT (nvarchar (10), Databasepropertyex (name, ''recovery '') from master .. sysdatabases where name = ''? ''
Set @ tsql = ''USE [?]; ''+ @ Tsql +'' alter database [?] Set recovery simple ''+ @ tsql
Set @ tsql = @ tsql + ''; alter database [?] Set recovery ''+ @ RecoveryModel + '';''
-- Print @ tsql -- for debugging
Exec (@ tsql)
Close LogFiles
DEALLOCATE LogFiles
End'
Exec sp_msforeachdb @ ssql
Http://www.sqllion.com/2010/08/for-each-database-sp_msforeachdb/
Http://codesnippets.joyent.com/posts/show/665