De vez em quando, a coluna run_duration do msdb.dbo.sysjobhistory retorna um valor negativo para um dos trabalhos, veja o exemplo abaixo.
O trabalho foi concluído com sucesso no momento da consulta. Alguma ideia do que poderia ser uma razão para isso?
Estamos discutindo o SQL 2019 (15.0.4322.2). Até agora, isso aconteceu apenas 2 ou três vezes nos últimos dias, com apenas um único trabalho executado na frequência de 5m. O trabalho foi executado sem esse problema há meses. Nenhum outro trabalho apresenta esse comportamento, mas é difícil dizer se é uma regra...
Este é um trabalho criado pelo usuário. Causa apenas um pequeno problema com o monitoramento dos trabalhos de longa duração (já tratei da exceção que isso causa). Só estou me perguntando o que poderia causar esse comportamento.
Uma possibilidade é que a duração seja negativa porque o relógio do sistema foi ajustado durante a execução do job.
O SQL Server usa uma representação inteira francamente estúpida para datas, horas e durações nessas tabelas. Suponho que o algoritmo usado para converter uma duração em codificação inteira não esteja configurado para lidar com durações negativas.