Link to home
Start Free TrialLog in
Avatar of GrahamR99
GrahamR99

asked on

Query SQL DTS sechduled Job History

Is there a way of querying the MSDB database on SQL server for the history of a DTS sechduled Job.

What I would like to do is to query the database and get back if the job was suggestful or unSuggestful and how long it took to run the job.

I relise you can do this within steps in a dts job, but if the server is rebooted the dts job will not do this.

Can any one tell me which tables I need to query and the columns within that table.

Thanxs for Reading
ASKER CERTIFIED SOLUTION
Avatar of ispaleny
ispaleny
Flag of Czechia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial

create view viJobs as
select
B.job_id,originating_server,name,enabled,description,start_step_id,category_id
,owner_sid,notify_level_eventlog,notify_level_email,notify_level_netsend
,notify_level_page,notify_email_operator_id,notify_netsend_operator_id,notify_page_operator_id
,delete_level,date_created,date_modified,version_number
,instance_id,A.step_id
,A.step_name AS Hist_step_name
,sql_message_id,sql_severity,message
,case run_status when 1 then 'OK' when 0 then 'KO' end  run_status
,run_date,run_time
,run_duration
,operator_id_emailed,operator_id_netsent,operator_id_paged,retries_attempted
,A.server AS Hist_server
,C.step_name,subsystem,command
,flags,additional_parameters,cmdexec_success_code,on_success_action
,on_success_step_id,on_fail_action,on_fail_step_id
,C.server
,database_name
,database_user_name,retry_attempts,retry_interval,os_run_priority,output_file_name
,last_run_outcome,last_run_duration,last_run_retries,last_run_date,last_run_time
from sysjobhistory A
join sysjobs       B on A.job_id=B.job_id
join sysjobsteps   C on A.job_id=C.job_id and A.step_id=C.step_id
GO

select max(name) name,run_date,run_time,MIN(run_status) Status,SUM(run_duration) duration
from viJobs
group by job_id,run_date,run_time
Or you can run

exec msdb..sp_help_job

to use more complicated job logic built in MS procedures (for last job run).