我更新鮮的SQL,我想寫一個查詢來從msdb.dbo.sysjobhistory獲得最後24小時工作記錄,但我不能得到因爲,在這裏我獲取run_date和run_time,就像number.how一樣,我會將run_date和run_time轉換爲datetime並獲取最後24小時的工作記錄。獲取最後24小時工作記錄表格msdb.dbo.sysjobhistory
我使用SQL Server 2000中
在此先感謝
我更新鮮的SQL,我想寫一個查詢來從msdb.dbo.sysjobhistory獲得最後24小時工作記錄,但我不能得到因爲,在這裏我獲取run_date和run_time,就像number.how一樣,我會將run_date和run_time轉換爲datetime並獲取最後24小時的工作記錄。獲取最後24小時工作記錄表格msdb.dbo.sysjobhistory
我使用SQL Server 2000中
在此先感謝
退房this post - 它顯示瞭如何從sysjobhistory
「解碼」 那些run_date
列。
你應該能夠得到從過去的24小時中的條目與查詢是這樣的:
SELECT
j.name as JobName,
LastRunDateTime =
CONVERT(DATETIME, CONVERT(CHAR(8), run_date, 112) + ' '
+ STUFF(STUFF(RIGHT('000000' + CONVERT(VARCHAR(8), run_time), 6), 5, 0, ':'), 3, 0, ':'), 121)
FROM
msdb..sysjobs j
INNER JOIN
msdb..sysjobhistory jh ON j.job_id = jh.job_id
WHERE
CONVERT(DATETIME, CONVERT(CHAR(8), run_date, 112) + ' '
+ STUFF(STUFF(RIGHT('000000' + CONVERT(VARCHAR(8), run_time), 6), 5, 0, ':'), 3, 0, ':'), 121) > DATEADD(HOUR, -24, GETDATE())
您好,感謝replys.actually IM執行folloing查詢:: 選擇sysjobs.job_id,sysjobs.name,sysjobhistory.step_name,sysjobhistory.message,sysjobhistory。 run_status,sysjobhistory.run_date,sysjobhistory.run_time,sysjobhistory.run_duration,sysjobs.date_created,sysjobs.date_modified,從sysjobhistory內蒙古sysjobs.version_number加入上sysjobhistory.job_id = sysjobs.job_id sysjobs如何,我可以根據日期時間過濾器 – 2010-10-09 07:42:35
獲取記錄感謝「marc_s」它的工作完美....再次感謝 – 2010-10-09 08:06:36
謝謝馬克它幫了很多 – Ravia 2012-03-09 14:54:45
對於2000年以後的數據庫,有msdb數據庫的函數可以調用,將返回日期時間:
msdb.dbo.agent_datetime(run_date, run_time) as 'RunDateTime'
如果您使用的是SQL 2000,你可以在函數的源代碼,從更高版本複製並在2000年實例我希望我能邀功這一切創造它,但我最初在這裏找到它:mssqltips.com
你能發表一些你有的數字的例子嗎?或者你知道格式?它們可能是紀元秒,毫秒,或格式爲20101008123456,或其他 - 它會影響答案。 – 2010-10-09 07:02:34
我得到的run_date格式像20100628 和RUN_TIME像192649 – 2010-10-09 07:47:00