SQL Server’da Job Geçmişi Görüntülemek
Herkese merhaba,
Bu yazıda SQL Server’da Job geçmişi görüntülemek ile ilgili bilgi vermeye çalışacağım.
SQL Server’da bazı durumlarda Job’ların çalışma durumlarını yani geçmişlerini öğrenmek isteyebilirsiniz.
Aşağıdaki kodu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.
SELECT [job].[job_id] AS [JobID],
[job].[name] AS [JobName],
CASE
WHEN [jh].[run_date] IS NULL
OR [jh].[run_time] IS NULL THEN
NULL
ELSE
CAST(CAST([jh].[run_date] AS CHAR(8)) + ' '
+ STUFF(STUFF(RIGHT('000000' + CAST([jh].[run_time] AS VARCHAR(6)), 6), 3, 0, ':'), 6, 0, ':') AS DATETIME)
END AS [LastRunDateTime],
CASE [jh].[run_status]
WHEN 0 THEN
'Failed'
WHEN 1 THEN
'Succeeded'
WHEN 2 THEN
'Retry'
WHEN 3 THEN
'Canceled'
WHEN 4 THEN
'Running' -- In Progress
END AS [LastRunStatus],
STUFF(STUFF(RIGHT('000000' + CAST([jh].[run_duration] AS VARCHAR(6)), 6), 3, 0, ':'), 6, 0, ':') AS [LastRunDuration (HH:MM:SS)],
[jh].[message] AS [LastRunStatusMessage]
FROM [msdb].[dbo].[sysjobs] AS [job]
LEFT JOIN
(
SELECT [job_id],
[run_date],
[run_time],
[run_status],
[run_duration],
[message],
ROW_NUMBER() OVER (PARTITION BY [job_id] ORDER BY [run_date] DESC, [run_time] DESC) AS RowNumber
FROM [msdb].[dbo].[sysjobhistory]
WHERE [step_id] = 0
) AS [jh]
ON [job].[job_id] = [jh].[job_id]
--WHERE job.job_id = 'BD6586AB-0D27-4399-88FA-4D329C243D3C' --Seçili Job ID bilgisini buraya yazabilirsiniz.
ORDER BY LastRunDateTime DESC;
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.