locked
Problema com SQL Server Agent RRS feed

  • Pergunta

  • Pessoal, segue o meu problema:

    Estou com problema em 3 Jobs que com uma certa frequência que, sem motivo aparente tem "parado" de funcionar. Não tendo idéia se o problema é na Job ou no Agent. Peguei os logs e aparecem os seguintes erros:

    The job failed.  The Job was invoked by Schedule 7 (Totaliza).  The last step to run was step 1 (Chama Procedure de totalizacao).

    INTERNET\ESMBD_SQLSERV. Transaction (Process ID 79) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. [SQLSTATE 40001] (Error 1205).  The step failed.


    Ah, sem falar que tem outro erro de conflito de uma constraint em um delete, mas a tabela dessa contraint não está em nenhuma dessas 3 Jobs:

    Executed as user: INTERNET\DBD. The DELETE statement conflicted with the REFERENCE constraint "FK__MaqDad__nMaqn__72910220". The conflict occurred in database "MPLU1"<c/> table "dbo.MaqDadCompo"<c/> column 'nMaqCompo'. [SQLSTATE 23000] (Error 547)  The statement has been terminated. [SQLSTATE 01000] (Error 3621).  The step failed.

    Quando esses erros acontecem é só parar o Agent e inicializa-lo novamente, que tudo volta ao normal.

    Pessoal, me ajudem por favor! Estou a pouco tempo na área de BD!

    Abs!
    • Movido Gustavo Maia Aguiar domingo, 23 de agosto de 2009 02:50 (De:SQL Server - Desenvolvimento Geral)
    sexta-feira, 21 de agosto de 2009 17:34

Respostas

  • Juliana,

    Nenhum dos dois problemas será resolvido com apenas a reinicialização do serviço AGENT.

    O primeiro caso, está relacionado com outros processos em execução no mesmo momento e que estão tentando usar o mesmo recurso, exemplo: a mesma tabela.
          Você pode ligar um TRACE que irá registrar os processos no LOG, caso ainda não tenha feito isso nos avise.


    O segundo caso, está relacionado a existencia de registros em tabelas FILHAS da tabela "dbo.MaqDadCompo".
         Você precisa verificar o codigo para saber se a ordem de exclusão dos registros está errada, OU, pode ser que o registro não possa ser excluido mesmo.
    Alex Rosa -- Sharing my knowledge at http://www.keep-learning.com/blog
    sexta-feira, 21 de agosto de 2009 20:10
  • Juliana,

    Esta ocorrendo concorrência de execução entre estes jobs, para tal a sugestão do Alex faz sentido para você monitorar e identificar o que esta acontecendo.

    Em relação a exclusão dos dados entre tables, recomendo verificar as regras de integridade referencial entre estas tables antes de realizar qualquer procedimento.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sábado, 22 de agosto de 2009 01:52
    Moderador

Todas as Respostas

  • Juliana,

    Nenhum dos dois problemas será resolvido com apenas a reinicialização do serviço AGENT.

    O primeiro caso, está relacionado com outros processos em execução no mesmo momento e que estão tentando usar o mesmo recurso, exemplo: a mesma tabela.
          Você pode ligar um TRACE que irá registrar os processos no LOG, caso ainda não tenha feito isso nos avise.


    O segundo caso, está relacionado a existencia de registros em tabelas FILHAS da tabela "dbo.MaqDadCompo".
         Você precisa verificar o codigo para saber se a ordem de exclusão dos registros está errada, OU, pode ser que o registro não possa ser excluido mesmo.
    Alex Rosa -- Sharing my knowledge at http://www.keep-learning.com/blog
    sexta-feira, 21 de agosto de 2009 20:10
  • Juliana,

    Esta ocorrendo concorrência de execução entre estes jobs, para tal a sugestão do Alex faz sentido para você monitorar e identificar o que esta acontecendo.

    Em relação a exclusão dos dados entre tables, recomendo verificar as regras de integridade referencial entre estas tables antes de realizar qualquer procedimento.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sábado, 22 de agosto de 2009 01:52
    Moderador
  • Ok meninos! Obrigada pela ajuda!

    Vou verificar e seguir o que vocês sugerem.

    Por enquanto muito obrigada!

    segunda-feira, 24 de agosto de 2009 11:15