Script to find the failed jobs on all the servers

/*FINAL CODE*/

declare
@servername varchar(200),
@sql varchar(2000)

/* LOOP THROUGH THE SERVERS*/

if object_id('tempdb..#failedjobs') is not NULL
drop table #failedjobs
create table #failedjobs (servername varchar(200), jobname varchar(500))

declare server_list cursor for

select
    servername
from
    dbo.servers
where
    enabled =1
    and retired = '9999-12-31 00:00:00.000'
   
open server_list
fetch next from server_list into @servername


while @@fetch_status = 0
    begin    
    set @sql =    'select
                    jh.server as server_name,
                    sj.name job_name
                from
                    (select
                        jh.job_id as job_id,
                        max(convert(bigint,(convert(varchar(100), jh.run_date) + convert(varchar(100),jh.run_time) + convert(varchar(100),replicate(''0'',6 - len(jh.run_time)))))) as total_date_time
                    from
                        [' + @servername+ '].msdb.dbo.sysjobhistory jh
                    where
                        step_id= 0
                    group by
                        jh.job_id) j
                    inner join
                    ['+ @servername + '].msdb.dbo.sysjobhistory jh
                    on j.job_id = jh.job_id
                    --and j.last_run_date = jh.run_date
                    and j.total_date_time = convert(bigint,(convert(varchar(100), jh.run_date)+ convert(varchar(100),jh.run_time) + convert(varchar(100),replicate(''0'', 6 - len(jh.run_time)))))
                    inner join
                    [' + @servername + '].msdb.dbo.sysjobs sj
                    on j.job_id = sj.job_id
                where
                    jh.run_status = 0
                    and jh.step_id = 0
                group by
                    jh.server,
                    sj.name'

                insert into #failedjobs
                Exec (@sql)
                fetch next from server_list into @servername
    end
    select * from #failedjobs
   
close server_list
deallocate server_list

Comments

Popular posts from this blog

SysDictField object not initialized. - Views

How to filter data for the last few weeks?

Get the value of Month or YY in SysComputedCOlumns in AX views