SQL Server – Como saber há quanto tempo um database específico está online

Visualizações: 200
Tempo de Leitura: 2 minutos

Fala pessoal!
Nesse post de hoje, gostaria de compartilhar uma solução que criei para responder uma dúvida em um dos grupos do Telegram em que participo, que foi a pergunta de como saber há quanto tempo um database está online no SQL Server. Isso não é há quanto tempo a instância está online e sim há quanto tempo um database está online.

Para resolver essa dúvida, pensei em utilizar o próprio log do SQL Server para identificar quando cada database foi iniciado e retornar para o usuário. A query abaixo irá retornar todos os bancos que estão no último arquivo de log, junto com a data da última vez que o banco foi inicializado e o tempo decorrido desde então até a hora atual.

Resultado:

Caso você queira analisar todo o histórico de inicialização dos databases, varrendo por todos os arquivos de logs (não somente o último):

Resultado:

Nas duas soluções apresentadas, você pode usar a coluna de “Database” para filtrar os bancos selecionados e acredito que a dúvida original foi respondida por esses 2 scripts.

É isso aí, pessoal! Espero que tenham gostado dessa dica. Você conhece alguma outra solução para responder essa dúvida? Deixe aqui nos comentários 🙂

Um grande abraço e até a próxima!