declare@dbnamevarchar(50) declare temp_cur cursor scroll forselect name from sysdatabases open temp_cur fetch first from temp_cur into@dbname while@@fetch_status=0 begin exec ('backup log ['+@dbname+'] with no_log') exec ('dbcc shrinkdatabase(['+@dbname+'])') exec ('dbcc checkcatalog (['+@dbname+'])') exec ('dump transaction ['+@dbname+'] with no_log') fetchnextfrom temp_cur into@dbname end close temp_cur deallocate temp_cur