
Consulta
Publicado por Daniel (1 intervención) el 03/11/2021 19:47:48
Buenas comunidad, llevo poco tiempo de DBA, me han encargado generar un reporte por linked server, que me genere un reporte de los planes de mantenimiento por semana, en concreto del dia que se lanza el plan de mantenimniento, la consulta la tengo creada pero me atascado con el dia que necesitamos, por ejemplo la siguiente consulta me extrae toda la informacion que hay almacenada de todas las semanas yo solo quiero el ultimo para que me genere el reporte, alguien puede ayudarme con la consulta o guiarme por donde ir, gracias y un saludo.
select
name AS JobName,
step_id,
message,
run_date,
case
len(run_duration) when 6 then left(convert(varchar(6), run_duration),2)+':'+substring(convert(varchar(6), run_duration),3,2)+':'+right(convert(varchar(6),run_duration),2)
when 5 then '0'+left(convert(varchar(5), run_duration),1)+':'+substring(convert(varchar(5), run_duration),2,2)+':'+right(convert(varchar(6),run_duration),2)
when 4 then '00'+':'+left(convert(varchar(4),run_duration),2)+':'+right(convert(varchar(4),run_duration),2)
when 3 then '00:0'+left(convert(varchar(3),run_duration),1)+':'+right(convert(varchar(4),run_duration),2)
end
as 'run_duration',
case run_status when 0 then 'failed'
when 1 then 'succeded'
when 2 then 'retry'
when 3 then 'canceled'
end as 'run_status'
from
sysjobhistory as a
--
left join sysjobs as b
on a.job_id = b.job_id
WHERE name = 'bcp' --- Plan de mantenimiento
order by run_date desc;
go
select
name AS JobName,
step_id,
message,
run_date,
case
len(run_duration) when 6 then left(convert(varchar(6), run_duration),2)+':'+substring(convert(varchar(6), run_duration),3,2)+':'+right(convert(varchar(6),run_duration),2)
when 5 then '0'+left(convert(varchar(5), run_duration),1)+':'+substring(convert(varchar(5), run_duration),2,2)+':'+right(convert(varchar(6),run_duration),2)
when 4 then '00'+':'+left(convert(varchar(4),run_duration),2)+':'+right(convert(varchar(4),run_duration),2)
when 3 then '00:0'+left(convert(varchar(3),run_duration),1)+':'+right(convert(varchar(4),run_duration),2)
end
as 'run_duration',
case run_status when 0 then 'failed'
when 1 then 'succeded'
when 2 then 'retry'
when 3 then 'canceled'
end as 'run_status'
from
sysjobhistory as a
--
left join sysjobs as b
on a.job_id = b.job_id
WHERE name = 'bcp' --- Plan de mantenimiento
order by run_date desc;
go
Valora esta pregunta


0