Início > Administração de Banco de Dados > Qual a data do último BACKUP?

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.

Anúncios
  1. Elias
    10/10/2010 às 18:18

    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´+.

    • Vitor Fava
      11/10/2010 às 15:46

      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.

  2. Samuel
    07/01/2011 às 15:58

    Grande Vitor,

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

    Um abraço

  3. Marcelo Rocha
    06/08/2013 às 13:13

    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 !

  1. No trackbacks yet.

Deixe um comentário

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 )

Imagem do Twitter

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

Foto do Facebook

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

Foto do Google+

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

Conectando a %s

%d blogueiros gostam disto: