Bom dia a todos, tenho esta consulta que retorna logs com diferentes Event IDs que ocorreram nos últimos minutos:
SELECT LogEventID, LogMessage, LogTime
FROM Database.dbo.ApplLog
WHERE (LogEventID LIKE 14
OR LogEventID LIKE 20
OR LogEventID LIKE 27
OR LogEventID LIKE 40
OR LogEventID LIKE 41
OR LogEventID LIKE 42)
AND LogTime < CURRENT_TIMESTAMP
AND LogTime > DateADD(mi, -5, CURRENT_TIMESTAMP);
Os resultados são assim, por exemplo:
LogEventID | Mensagem de registro |
---|---|
42 | Erro ao transmitir novo Incidente XYZ |
42 | Erro ao transmitir novo Incidente XYZ |
20 | Erro ao transmitir o Incidente XYZ atualizado |
Existem mais 4 EventIDs. Na maioria das vezes, os outros EventIDs não produzem logs. Em nossa solução de monitoramento, configurei um sensor que executa essa consulta regularmente. Resumindo, não consigo configurar o sensor corretamente porque nem todos os EventIDs produziram logs nos últimos minutos ao mesmo tempo.
Minha pergunta é: como faço para gerar linhas falsas com todos os LogEventIDs, mas LogMessages vazios, para que eu tenha todos os LogEventIDs que não produziram logs nos últimos minutos, em todos os resultados de consulta junto com os que produziram? Algo assim:
LogEventID | Mensagem de registro |
---|---|
42 | Erro ao transmitir novo Incidente XYZ |
42 | Erro ao transmitir novo Incidente XYZ |
20 | Erro ao transmitir o Incidente XYZ atualizado |
14 | |
27 | |
40 | |
41 |
Eu vi este post , mas não entendo a solução e é muito mais complicado do que (parece) que precisa ser. Obrigado pela ajuda antecipadamente.
EDIT: Aqui estão as definições da tabela conforme solicitado. Espero que estas sejam as definições de tabela: