Answered Execução de jobs disparados pelo Alerta

  • terça-feira, 20 de março de 2012 18:45
     
     

    Olá povo,

    Estou tentando a execução de um determinado job quando um alerta é disparado. Neste teste eu disparo o job quando um erro de nível 15(sintaxe) ocorrer, mas o job não é disparado. Existe alguma configuração adicional que precisar ser feita?

    Estou tentando forçar a execução do alerta executando um comando com a sintaxe incorreta.

    SQL 2008 R2 - Enterprise

    Abraços


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com é de SP e Vai ao SQL Saturday #127?


    • Editado DhiegoPiroto terça-feira, 20 de março de 2012 19:39
    •  

Todas as Respostas

  • quarta-feira, 21 de março de 2012 17:50
    Moderador
     
     

    Dhiego,

    Este alerta esta configurado para um banco de dados específico?

    Algum operador será notifciado?

    Este job esta sendo executado por qual conta de usuário?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]



  • quarta-feira, 21 de março de 2012 20:19
     
     

    Olá Junior,

    Não, o alerta está configurado para todos os bancos da instancia. Não está habilitada a opção de notificar um operador, a pesar que mesmo quando esta opção está marcada a notificação nao é enviada para o e-mail (as configurações de email no agente estão corretas), e não importa o que eu faça não consigo disparar o alerta.

    este job está sendo executado com uma conta sysadmin.

    Abraços.


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com é de SP e Vai ao SQL Saturday #127?

  • quinta-feira, 22 de março de 2012 18:29
    Moderador
     
     

    Dhiego,

    Cara estou suspeitando que o problema esta no Job!

    Quais são os steps configurados para este job?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

  • sexta-feira, 23 de março de 2012 13:44
     
     

    Junior,

    Na verdade o job tem um unico step, ele insere valores fixos em uma tabela. O alerta é só para testes mesmo. Porém mesmo que eu tente apenas enviar um e-mail não funciona.

    A minha dúvida é: A forma de disparar o alerta está correta? Porque não é informada a data da ultima execução do alerta, ou seja, ele nunca foi executado.

    É possível disparar um alerta da forma que estou tentando? (errando a sintaxe propositalmente)

    Abraços;


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com


    • Editado DhiegoPiroto sexta-feira, 23 de março de 2012 13:45
    •  
  • segunda-feira, 26 de março de 2012 20:06
     
     

    Olá DhiegoPiroto,

    Você configurou a opção "Notificações" no JOB?

  • terça-feira, 27 de março de 2012 17:59
     
     

    Olá André,

    Na verdade se o job disparasse eu ja ficaria feliz. É um job de teste, ele apenas popula uma tabela com valores default. O problema é que o job nao dispara.


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com

  • quarta-feira, 28 de março de 2012 13:16
     
     

    Olá DhiegoPiroto,

    respondendo a sua pergunta:

    É possível disparar um alerta da forma que estou tentando? (errando a sintaxe propositalmente)

    Não é possível, fiz alguns testes simulando sua dúvida mas não tive exito. Configurando um operador e selecionando as opções do print que postei da certo.

  • quarta-feira, 28 de março de 2012 13:36
     
     

    André,

    A sugestão que você deu é usada apenas no job. Não pode ser aplicada no alerta.

    É o alerta que eu preciso disparar, não o job; O job era apenas teste.

    O que eu nao consigo é: Disparar um alerta de intensidade 15 (erro de sintaxe) e enviar um e-mail

    abraços


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com

  • quarta-feira, 28 de março de 2012 16:49
    Moderador
     
     

    André,

    Cara me fale uma coisa, no histórico de execução deste job, existe algum erro?

    Vamos por partes, Alerta é uma coisa, Notificação é outra coisa e também temos algo que devemos configurar um Operador.

    Você configurou algum Operador neste seu SQL Server? É necessário que este operador tenha uma conta de e-mail configurado e que este operador esteja definido como Notificador do seu Alerta.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

  • quarta-feira, 28 de março de 2012 20:29
     
      Contém Código

    Junior,

    Sim, configurei um operador (email) e configurei o alerta para enviar um email para este operador quando um erro de nivel 15 ocorrer.

    Tem como você tentar fazer um teste no seu ambiente? Estou começando a achar que o SQL não dispara o alerta por um erro de nivel 14,15 ou 16

    segue o script utilizado para gerar este alerta.

    USE [msdb]
    GO
    EXEC msdb.dbo.sp_update_alert @name=N'Intensidade 15', @new_name=N'Intensidade  15'
    GO
    USE [msdb]
    GO
    EXEC msdb.dbo.sp_update_alert @name=N'Intensidade 15', 
    		@message_id=0, 
    		@severity=15, 
    		@enabled=1, 
    		@delay_between_responses=0, 
    		@include_event_description_in=1, 
    		@database_name=N'', 
    		@notification_message=N'', 
    		@event_description_keyword=N'', 
    		@performance_condition=N'', 
    		@wmi_namespace=N'', 
    		@wmi_query=N'', 
    		@job_id=N'00000000-0000-0000-0000-000000000000'
    GO
    EXEC msdb.dbo.sp_update_notification @alert_name=N'Intensidade 15', @operator_name=N'Dhiego Piroto', @notification_method = 5
    GO
    

    abraços.;


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com

  • quinta-feira, 29 de março de 2012 13:50
     
      Contém Código

    Bom dia Dhiego,

    fiz mais alguns testes, criei um alerta com a configuração do seu, deu certo, estou recebendo os alertas no meu e-mail

    USE [msdb] GO EXEC msdb.dbo.sp_add_alert @name=N'Intensidade 15', @message_id=0, @severity=15, @enabled=1, @delay_between_responses=0, @include_event_description_in=0, @job_id=N'db697ac2-8d75-4599-b1fa-67e602640cf6' GO EXEC msdb.dbo.sp_add_notification @alert_name=N'Intensidade 15', @operator_name=N'Notificacao', @notification_method = 5 GO


    SQL Server Alert System: 'Intensidade  15' occurred on 'ServerName'

    DATE/TIME:      3/29/2012 10:10:01 AM

    DESCRIPTION:    (None)

    COMMENT:        (None)

    JOB RUN:        teste

  • quinta-feira, 29 de março de 2012 15:00
    Moderador
     
     

    André,

    Acabei de testar em dois ambientes SQL Server 2005 EE e 2008 EE também não deu certo.

    Tem algo de errado com o serviço Database Mail.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

  • quinta-feira, 29 de março de 2012 15:43
     
     

    Olá Junior,

    Você testou com o código que passei?

    Deu algum erro?

    • Editado Andre_Bel quinta-feira, 29 de março de 2012 16:20
    •  
  • quinta-feira, 29 de março de 2012 16:50
    Moderador
     
     

    André,

    Erro no código não, mas não recebo o e-mail.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

  • quinta-feira, 29 de março de 2012 19:34
     
     

    Estranho Junior.

    Tenho as duas versões do SQL (2005 e 2008R2) ambas estão me mandando e-mail, da forma como configurei(código acima)...

    Obs: Demorou um pouco para mim receber, mas recebi.

    acabei de fazer um novo teste e recebi.

    SQL Server Alert System: 'Intensidade 15' occurred on 'ServerName'

    DATE/TIME:      3/29/2012 4:31:01 PM

    DESCRIPTION:    Error: 50000 Severity: 15 State: 1


    COMMENT:        (None)

    JOB RUN:        teste

  • sexta-feira, 30 de março de 2012 02:53
     
     

    André, Junior,

     Também fiz o teste em um ambiente 2009 e 2008r2, nada feito. Não envia o email de jeito nenhum.

    André, você recebeu o email disparado pelo alerta ou pelo job (quando ele é finalizado)

    abraços


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com


    • Editado DhiegoPiroto sexta-feira, 30 de março de 2012 02:56
    •  
  • segunda-feira, 2 de abril de 2012 14:57
     
     Respondido Contém Código

    Dhiego,

    Fiz alguns testes aqui e vi que aqui também não mandava e-mail, então vi que também não aparecia no log e eventos do Sql Server.

    Usei o comando abaixo para começar a logar, ai me enviou o e-mail com sucesso

    sp_altermessage 102, 'WITH_LOG', 'true';
    GO

    Veja se ajuda no seu caso.

    Abçs,

    Adriano Nascimento

    • Marcado como Resposta DhiegoPiroto segunda-feira, 2 de abril de 2012 16:59
    •  
  • segunda-feira, 2 de abril de 2012 16:59
     
     

    Adriano,

    Cara, você acertou em cheio! Era exatamente isto que estava 'empacando' minha vida.

    Agraço ao Adriano, Junior e André pela ajuda!

    Abraços!


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com


    • Editado DhiegoPiroto segunda-feira, 2 de abril de 2012 23:59
    •