Wednesday, April 11, 2012

How to know Job History in SQL Server


USE MSDB
GO


DECLARE @JOBID VARCHAR (200)
SELECT @JOBID = 'CE2E392B-696E-4AF3-92D9-77F471CA424B'


SELECT J.JOB_ID, J.NAME,J.DESCRIPTION,J.DATE_CREATED AS CREATEDON, J.DATE_MODIFIED AS MODIFIEDON, 
JA.SESSION_ID AS SESSIONID, JA.RUN_REQUESTED_DATE AS [RUN REQUESTED DATE], JA.START_EXECUTION_DATE AS [EXECUTION DATE TIME], 
JA.LAST_EXECUTED_STEP_DATE AS [LAST EXECUTED DATE TIME], JA.STOP_EXECUTION_DATE AS [STOP EXECUTION DATE TIME], 
JA.NEXT_SCHEDULED_RUN_DATE AS [NEXT SCHEDULED],JH.INSTANCE_ID, JH.STEP_NAME AS [STEP NAME], JH.MESSAGE, 
JH.RUN_STATUS AS [STEP RUN STATUS], JH.RUN_DATE AS [STEP RUN DATE], JH.RUN_TIME AS [STEP RUN TIME], 
JH.RUN_DURATION, JH.SERVER AS [EXECUTED ON SERVER], JS.SCHEDULE_ID, JS.NEXT_RUN_DATE, JS.NEXT_RUN_TIME,
JSS.LAST_OUTCOME_MESSAGE, JSS.LAST_RUN_DURATION,JST.STEP_NAME, JST.DATABASE_NAME
FROM SYSJOBS J 
INNER JOIN SYSJOBACTIVITY JA ON J.JOB_ID= JA.JOB_ID
INNER JOIN SYSJOBHISTORY JH ON J.JOB_ID= JH.JOB_ID
INNER JOIN SYSJOBSCHEDULES JS ON J.JOB_ID= JS.JOB_ID
INNER JOIN SYSJOBSERVERS JSS ON J.JOB_ID= JSS.JOB_ID
INNER JOIN SYSJOBSTEPS JST ON J.JOB_ID= JST.JOB_ID
WHERE J.JOB_ID= @JOBID