Declare @ database varchar (255) Declare @ sqlcmd varchar (1000) Declare @ test bitset @ test = 1 declare databasecursor cursor forward_only read_only forselect name from Master. DBO. sysdatabases where name not in ('master', 'model', 'msdb', 'tempdb', 'distrbution ', 'reportserver', 'reportservertempdb ') open databasecursor fetch next from databasecursor into @ database while @ fetch_status = 0 begin set @ sqlcmd = 'use '+ @ Database +'; if exists (select 1 from sys. dm_db_index_physical_stats (db_id (), null, ''detailled'') indexstats where indexstats. avg_fragmentation_in_percent> 25) beginexec sp_msforeachtable @ command1 = ''alter index all on? Rebuild ''' + 'print ''' indexes rebuild successfully on database' + @ database + '! ''End'' if @ test = 1 beginselect @ sqlcmdendelsebeginexec (@ sqlcmd) endfetch next from databasecursor into @ database endclose databasecursor deallocate databasecursor