Jobs Suspended

      Nenhum comentário em Jobs Suspended

O que fazer quando ao submeter um Job no SQL Server e o mesmo ficar com Status de suspenso?
O que ocorreu?

É uma situação meio rara, até hoje eu só vi acontecer apenas uma vez.

Vamos supor um cenário, bem simples, nem vamos entrar em detalhes mais técnicos como especificações, RAID, etc.

É necessário fazer uma atualização APENAS do sistema operacional do servidor, onde é decidido fazer uma instalação “limpa”, ou seja, formatar e instalar do “zero”.
Foram feitos todos os backup´s dos bancos de dados de usuário, bancos de dados de sistema, de todas instancias.
No caso, a versão do MS SQL Server seria a mesma.
Num disco, o Sistema Operacional atualizado, recém atualizado.
Em outro disco, a instalação dos binários do MS SQL Server.
Em outro disco, APENAS arquivos de dados.

Depois de tudo instalado e configurado, assim como todo restore feito (inclusive do MSDB), todos os serviços subindo, tudo testado e “quase” tudo funcionando, menos os jobs.

Ao iniciar qualquer job, vem a surpresa… “job suspended”.

Quando um job fica suspenso, voce não consegue “forçar” com que ele seja executado novamente, fica desabilitado.

Este problema ocorre porque há algum problema na identificação com as dll´s que foram registradas na instalação do agent do sql server e que são mapeadas numa tabela dentro do banco de dados MSDB.

No caso, a tabela é a “syssubsystems”.

Para verificar como está o mapeamento dos binários, execute a seguinte query:


select * from msdb.dbo.syssubsystems

Provavelmente o caminho das dll ou dos binários indicadas nas colunas “subsystem_dll” ou “agent_exe” estão apontados nos caminhos errados!

O que aconteceu é que provavelmente na reinstalação “limpa”, mudou o diretório de instalação ou a letra da unidade, e como voce voltou um backup do MSDB antigo, as informações não devem mais estar conferindo.

Para resolver este problema, o procedimento é muito simples.

(Siga todos os passos, com cuidado e atenção)

Primeiro, delete todos os registros da tabela:

delete from msdb.dbo.syssubsystems

Segundo, execute o comando para “preencher” as informações atuais do registry da instalação corrente:

msdb.dbo.sp_verify_subsystems 1

Por fim, pra encerrar, reiniciar o service do SQL Server Agent.

(Nem preciso falar, Serviços do SQL Server voce gerencia SEMPRE pelo SQL Server Configuration Manager, NUNCA pelo Services do Windows!)

Problema resolvido.

Deixe uma resposta