Monitorar e responder a eventos

O SQL Server Agent pode monitorar e responder automaticamente a eventos, como mensagens do SQL Server, condições de desempenho específicas e eventos da Instrumentação de Gerenciamento do Windows (WMI).

Nesta seção

  • Alertas
    Contém informações sobre como nomear um alerta e selecionar os eventos ou as condições de desempenho às quais os alertas respondem.

  • Criar um evento definido pelo usuário
    Contém informações sobre como criar eventos diferentes daqueles predefinidos pelo SQL Server.

  • Operadores
    Contém informações sobre como criar aliases para administradores que podem ser utilizados pelo SQL Server Agent para enviar notificações sobre a falha ou o êxito de trabalhos.

Sobre monitoramento e resposta a eventos

As respostas automatizadas a eventos são chamadas de alertas. Você pode definir um alerta em um ou mais eventos, para especificar como o SQL Server Agent deve responder mediante sua ocorrência. Um alerta pode responder a um evento notificando um administrador ou executando um trabalho, ou ambos. Um alerta também pode encaminhar um evento para o log de aplicativos do Microsoft Windows em um computador diferente. Por exemplo, é possível especificar que um operador seja notificado imediatamente caso ocorra um evento de severidade 19. Definindo alertas, os administradores de banco de dados podem monitorar e gerenciar o SQL Server com mais eficácia.

O SQL Server Agent só responde a eventos para os quais está definido um alerta. O método utilizado pelo SQL Server Agent para monitorar eventos depende do tipo de evento.

Quando um alerta do SQL Server Agent é definido para um contador de desempenho, o SQL Server Agent monitora diretamente esse contador de desempenho. No caso de um evento WMI, o SQL Server Agent registra uma consulta de evento para o evento WMI.

Para responder a mensagens do SQL Server, o SQL Server Agent monitora o log de aplicativos do Windows. O SQL Server Agent só pode responder a mensagens que aparecem nesse log. Por padrão, o SQL Server registra as seguintes mensagens no log de aplicativos do Windows:

  • Erros sysmessages com severidade 19 ou mais alta.

    Caso deseje registrar também erros de sysmessages específicos de severidade menor que 19, use o procedimento armazenado sp_altermessage para designar tais erros como "always logged" (registrar sempre).

  • Qualquer instrução RAISERROR é invocada usando a sintaxe WITH LOG.

    Usar RAISERROR WITH LOG é a maneira recomendada de fazer registros no log de aplicativos do Windows a partir de uma instância do SQL Server.

  • Qualquer evento de aplicativo que seja registrado usando xp_logevent.

    ObservaçãoObservação

    Registrar eventos de aplicativos consome espaço de log e pode fazer com que o log de aplicativos do Windows exceda seu tamanho máximo. Verifique que o tamanho máximo do log de aplicativos do Windows seja grande o suficiente para impedir perda de informações de eventos do SQL Server.

Quando o SQL Server registra uma mensagem, o serviço do SQL Server Agent compara a mensagem com os alertas definidos pelo administrador do SQL Server.

Independentemente da origem do evento, o serviço do SQL Server Agent responde ao evento executando as tarefas especificadas no alerta correspondente.

Consulte também

Referência

sp_altermessage (Transact-SQL)