• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 589
  • Last Modified:

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
0
GrahamR99
Asked:
GrahamR99
  • 3
1 Solution
 
ispalenyCommented:
mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\tsqlref.chm::/ts_sys-j_42yh.htm
mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\tsqlref.chm::/ts_sys-j_33w3.htm
mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\tsqlref.chm::/ts_sys-j_15df.htm

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
0
 
ispalenyCommented:

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
0
 
ispalenyCommented:
Or you can run

exec msdb..sp_help_job

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

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now