Martin Karouš Asked: 2024-07-23 15:11:18 +0800 CST2024-07-23 15:11:18 +0800 CST 2024-07-23 15:11:18 +0800 CST msdb.dbo.sysjobhistory 中的 run_duration 列返回负值 772 有时,msdb.dbo.sysjobhistory中的run_duration列会为某个作业返回负值,参见下面的示例。 查询时作业已成功完成。您知道可能是什么原因吗? 我们正在讨论 SQL 2019 (15.0.4322.2)。到目前为止,这种情况在过去几天内只发生过 2 到 3 次,并且只执行了一个以 5m 频率执行的作业。几个月来,该作业一直没有出现此问题。没有其他作业表现出这种行为,但很难说这是否是一种规则…… 这是用户创建的作业。它只会对长期运行的作业的监控造成一点小麻烦(我已经处理了它引起的异常)。我只是想知道是什么导致了这种行为。 sql-server 1 个回答 Voted Best Answer Paul White 2024-07-23T21:50:33+08:002024-07-23T21:50:33+08:00 一种可能性是持续时间为负数,因为系统时钟在作业执行期间进行了调整。 SQL Server 在这些表中使用愚蠢的整数表示日期、时间和持续时间。我猜用于将持续时间转换为整数编码的算法并未设置为处理负持续时间。
一种可能性是持续时间为负数,因为系统时钟在作业执行期间进行了调整。
SQL Server 在这些表中使用愚蠢的整数表示日期、时间和持续时间。我猜用于将持续时间转换为整数编码的算法并未设置为处理负持续时间。