Partilhar via


Monitorando e respondendo 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

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 de sysmessages com severidade 19 ou superior.

    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. Para obter mais informações sobre a instrução RAISERROR, consulte Usando RAISERROR.

  • Qualquer evento de aplicativo que é 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