Qual a data do último BACKUP?

E ai galerinha, tudo bem com vocês?

Hoje quero ajudá-los em uma das tarefas mais importantes da vida de um DBA: O BACKUP!!!!!!

Agora me responda:

Qual a data do último backup, realizado com sucesso, de cada um dos bancos de dados que você administra?

Tenho certeza de que para responder minha pergunta, muitos de vocês foram verificar cada um dos arquivos de backup e conferir qual a data do mais atual, certo?

E se dissesse que podemos levantar essa informação através de uma query simples utilizando as tabelas de sistema do SQL SERVER?

Para que isso seja possível, precisaremos utilizar as seguintes tabelas de sistema:

– master..sydatabases;
– msdb..backupset;
– msdb..backupmediafamily

A query que nos trará a informação sobre a data dos últimos backups realizados, agrupando por cada banco de dados, é a seguinte:

–Listar os
últimos backups realizados com SUCESSO

SELECT

bs.database_name AS
Nome_Banco,

CASE bs.type

WHEN ‘D’ THEN ‘DADOS’

WHEN ‘L’ THEN ‘LOG’

END AS Tipo_Backup,

MAX(bs.backup_start_date) AS Data_Ultimo_Backup

FROM

master..sysdatabases sd

LEFT JOIN

msdb..backupset bs

ON

bs.database_name = sd.name

LEFT JOIN

msdb..backupmediafamily bmf

ON

bs.media_set_id = bmf.media_set_id

GROUP BY

sd.name,

bs.type,

bs.database_name

ORDER BY

Nome_Banco,

Data_Ultimo_Backup

Como podem ver, é uma query extremamente simples e que pode fazer parte de um job para que todas as noites você receba um email com as datas dos últimos backups realizados.

Gosto sempre de relembrar pessoal.

É imprescindível termos uma estratégia de backup, mas também é importantíssimo um acompanhamento para ter certeza de que a estratégia de backup está sendo realizada com sucesso.

Espero que tenham gostado dessa dica.

Um abraço a todos e um ótimo feriado.

Vitor Fava.

4 ideias sobre “Qual a data do último BACKUP?

  1. Elias

    e ae vitor tranquilo?
    uma observação. O campo nome_banco deve ser selecionado da tabela sysdatabases campo name, pois quando não há nenhum backup realizado para um banco o nome não virá nulo.
    Abç e t´+.

    Resposta
    1. Vitor Fava

      Fala grande Elias.

      Obrigado pela sua participação.

      O seu comentário está corretíssimo.

      Caso não exista nenhum backup realizado o valor da coluna “Nome_Banco” será nula.

      Já realizei a alteração no script.

      Continue participando.

      Grande abraço.

      Resposta
  2. Samuel

    Grande Vitor,

    Testado e aprovado, valeu cara pelo força, obrigado professor (brincadeira)

    Um abraço

    Resposta
  3. Marcelo Rocha

    Vitor não consegui executar esse cara( )

    Comando:

    SELECT

    bs.database_name AS
    Nome_Banco,

    CASE bs.type

    WHEN ‘D’ THEN ‘DADOS’

    WHEN ‘L’ THEN ‘LOG’

    END AS Tipo_Backup,

    MAX(bs.backup_start_date) AS Data_Ultimo_Backup

    FROM

    master..sysdatabases sd

    LEFT JOIN

    msdb..backupset bs

    ON

    bs.database_name = sd.name

    LEFT JOIN

    msdb..backupmediafamily bmf

    ON

    bs.media_set_id = bmf.media_set_id

    GROUP BY

    sd.name,

    bs.type,

    bs.database_name

    ORDER BY

    Nome_Banco,

    Data_Ultimo_Backup

    Erro: ( Msg 102, Level 15, State 1, Line 8
    Incorrect syntax near ‘‘’.)

    Abs !

    Resposta

Deixe uma resposta para Marcelo Rocha Cancelar resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.