Temos um trabalho do SQL Server Agent que executa um plano de manutenção para reindexar todo o banco de dados no servidor. Recentemente, isso falhou, mas o histórico do trabalho não fornece informações suficientes para diagnosticar o problema.
No histórico do trabalho, informa que o trabalho falhou. O trabalho foi invocado pelo usuário foo\bar. A última etapa a ser executada foi a etapa 1 (Rebuild Index).
Na janela de detalhes há várias mensagens no seguinte formato:
Executing query "ALTER INDEX [something] ON [a...".: 0% complete End Progress Progress: 2015-03-15 22:51:23.67 Source: Rebuild Index Task
A instrução SQL que está sendo executada está truncada, e eu diria que a saída da instrução também está truncada, impedindo-me de identificar qual instrução específica falhou e por quê. Existe alguma maneira de extrair o texto completo dessas mensagens?
Você pode conseguir isso de 2 maneiras - Vá na etapa do trabalho e selecione a guia Avançado:
uma. Saída para um arquivo (<== Meu método preferido)
b. "Registrar na tabela" e "Incluir saída da etapa no histórico" (<== Você precisa aparar
msdb..sysjobhistory
em longo prazo, pois as mensagens são armazenadas comonvarchar(max)
em vez denvarchar(1024)
)Para ver as informações adicionais registradas, você precisa usar este procedimento armazenado sp_help_jobsteplog ou pode consultar a
msdb.dbo.sysjobstepslogs
tabela diretamente.Mais informações aqui
Você pode obter o texto completo:
select properties
step
e clique noedit
botãoadvanced
. Aqui você pode ver o caminho do log.Agora é simples seguir o caminho.
No meu caso, isso foi mais facilmente visível de
A mensagem de erro listada aqui, em "Mensagem de erro:" não foi truncada, como eu já tinha visto em outro lugar.