Eu tinha um job no SQL Server que executava um arquivo .BAT era executado / concluído com sucesso. Porém, na tabela sysjobhistory o status do step que fazia o FTP via um arquivo .BAT, ficava com status IN PROGRESS.
Não encontrei nada na internet, apenas este caso igual ao meu, mas nenhuma solução real.
http://itknowledgeexchange.techtarget.com/itanswers/the-ssis-2008-r2-job-does-not-complete-execution/
http://itknowledgeexchange.techtarget.com/itanswers/the-ssis-2008-r2-job-does-not-complete-execution/
O step do meu job era do tipo Operating System (cmdExec).
E o comando era "C:\Interface\FTP_Download.bat"
Solução
Para resolver, alterei o tipo do step para o tipo Transac-SQL script (script SQL puro), e fiz o código executar o arquivo .BAT via xp_cmdshell, controlando o erro através de uma variável inteira.
DECLARE @SQL varchar(500)
DECLARE @Retorno int
SET @SQL = 'C:\Interface\FTP_Download.bat'
EXEC @Retorno = MASTER..xp_cmdshelL @SQL
--Se executou com sucesso
IF (@Retorno = 0)
PRINT 'Download via FTP concluído com sucesso'
ELSE
BEGIN
--Se execução NÃO foi concluída com sucesso, força o erro para que o job seja concluído com erro.
RAISERROR('Erro ao fazer download via FTP. Verifique o log do FTP',16,1)
END
Resolvido! O job não ficou mais no status IN PROGRESS.
____________________________________________
Completed job showing In Progress Status
____________________________________________