Não consigo iniciar o trabalho do SQLServer Agent mesmo que nada seja mostrado como em execução.
Histórico: eu estraguei tudo e esqueci depois
Eu tive apenas uma etapa em meu trabalho de teste e adicionei outra etapa. Meu objetivo era começar a partir do passo 2 apenas porque eu queria executar apenas o passo 2, não o passo 1, bastante demorado. Quando escolhi "começar do passo", ele simplesmente começou a ser executado sem me mostrar a escolha dos passos, e quando olhei para o trabalho, ele ainda tinha apenas uma etapa, e a etapa de longa duração estava em execução.
Meu primeiro palpite é que devo ter esquecido de adicionar a segunda etapa, fechando o menu sem salvar. Meu segundo palpite é que acabei de fechar a janela com o verde "Em execução", pensando que isso poderia interromper o trabalho, mas sei, por verificações posteriores, que o fechamento não está parando. Então esqueci disso durante algum outro trabalho.
Como posteriormente não consegui ver nenhuma caixa que dizia "Running", adicionei novamente o segundo passo e comecei a partir desse passo 2, e então surgiu o erro em questão.
O erro:
Falha no início do trabalho.
...
Erro do SQLServer Agent: solicitação para executar o trabalho .. (do usuário ..) recusada porque o trabalho já está em execução a partir de uma solicitação do usuário .. (Microsoft SQL Server, Erro 22022)
Claramente, a etapa 1 de longa duração ainda estava em execução em segundo plano. Mas eu não sabia mais disso.
Por isso fiz a pergunta:
Como evito o erro "Solicitação para execução do trabalho recusada porque o trabalho já está em execução" se nenhum trabalho for mostrado como "em execução" quando eu iniciar uma etapa escolhida?
Não faria sentido esperar isso. Quando não havia nada em execução, ainda cliquei para interromper o trabalho:
Interromper o trabalho mesmo que você não veja que ele está sendo executado me mostrou:
Esta mensagem verde de sucesso prova que o trabalho realmente foi executado em segundo plano, sem mostrar nenhum sinal de vida no frontend. Devo ter fechado a janela e depois devo ter esquecido.
Verifiquei parar um trabalho que não é executado, ele falha:
Eu acho que você também poderia verificar e consertar essas coisas com alguns truques de prompt de comando. Pode haver um trabalho que você pode ver e matar ou parar, mas eu não tentei.
Após parar, a etapa pode ser executada novamente: