运行 持续时间 sysjobs - sysjobshistory
Run duration sysjobs - sysjobshistory
我有一个关于 sysjobs run_duration 的问题。官方文档似乎自相矛盾:
首先它指定:
run_duration int Elapsed time in the execution of the job or step in HHMMSS format.
但随后它还提到了一个更友好的时间格式的查询:
SELECT sj.name,
sh.run_date,
sh.step_name,
STUFF(STUFF(RIGHT(REPLICATE('0', 6) + CAST(sh.run_time as varchar(6)), 6), 3, 0, ':'), 6, 0, ':') 'run_time',
STUFF(STUFF(STUFF(RIGHT(REPLICATE('0', 8) + CAST(sh.run_duration as varchar(8)), 8), 3, 0, ':'), 6, 0, ':'), 9, 0, ':') 'run_duration (DD:HH:MM:SS) '
FROM msdb.dbo.sysjobs sj
JOIN msdb.dbo.sysjobhistory sh
ON sj.job_id = sh.job_id
请注意区别,天数 'suddenly' 被纳入画面。
在我的现实生活中,我遇到了一份 运行 很长的工作。结果如下:
run_duration (DD:HH:MM:SS) run_duration
01:49:39:39 1493939
那么我该如何阅读呢?这实际上是 149 小时 39 分 39 秒吗?
1 天和 49 没有意义。
非常感谢您的反馈!
通常情况下,如果您使用带时间的符号,则最大分母不受限制;就像你在 24 小时停下来因为那是一天中有多少人。因此,在格式 HHMMSS
中,HH
可以是 0+ 中的任何值。 HH 不限于 24,因为您没有使用天分母。就像您计算月份一样,即使两个日期之间相差 16 个月,您也不会停止为 12。你在数月,所以为什么跨越一年的差距会阻止你。
就像你评论的那样,1 天 49 小时字面上没有意义。 1493939
应该读作149小时39分39秒。
我有一个关于 sysjobs run_duration 的问题。官方文档似乎自相矛盾:
首先它指定:
run_duration int Elapsed time in the execution of the job or step in HHMMSS format.
但随后它还提到了一个更友好的时间格式的查询:
SELECT sj.name,
sh.run_date,
sh.step_name,
STUFF(STUFF(RIGHT(REPLICATE('0', 6) + CAST(sh.run_time as varchar(6)), 6), 3, 0, ':'), 6, 0, ':') 'run_time',
STUFF(STUFF(STUFF(RIGHT(REPLICATE('0', 8) + CAST(sh.run_duration as varchar(8)), 8), 3, 0, ':'), 6, 0, ':'), 9, 0, ':') 'run_duration (DD:HH:MM:SS) '
FROM msdb.dbo.sysjobs sj
JOIN msdb.dbo.sysjobhistory sh
ON sj.job_id = sh.job_id
请注意区别,天数 'suddenly' 被纳入画面。
在我的现实生活中,我遇到了一份 运行 很长的工作。结果如下:
run_duration (DD:HH:MM:SS) run_duration
01:49:39:39 1493939
那么我该如何阅读呢?这实际上是 149 小时 39 分 39 秒吗?
1 天和 49 没有意义。
非常感谢您的反馈!
通常情况下,如果您使用带时间的符号,则最大分母不受限制;就像你在 24 小时停下来因为那是一天中有多少人。因此,在格式 HHMMSS
中,HH
可以是 0+ 中的任何值。 HH 不限于 24,因为您没有使用天分母。就像您计算月份一样,即使两个日期之间相差 16 个月,您也不会停止为 12。你在数月,所以为什么跨越一年的差距会阻止你。
就像你评论的那样,1 天 49 小时字面上没有意义。 1493939
应该读作149小时39分39秒。