segunda-feira, 27 de dezembro de 2010

SQL Server: Solução reporting services para cópia de segurança

Boa tarde,

Hoje quero compartilhar com meus amigos DBA SQL Server (e porque não analistas de suporte) uma solução que utilizo no dia a dia para visualizar e auditar as cópias de segurança das instâncias do SQL Server.

Abaixo estão as queries que utilizo para analisar cópias de segurança completa, diferenciais e do log, respectivamente.

--Analisa cópia de segurança completas

SELECT Database_Name AS Nome,

CONVERT(VARCHAR(20), Backup_Finish_Date, 120) AS Ultimo,

Backup_Size

FROM dbo.BackupSet(NOLOCK) AS [1]

WHERE Backup_Finish_Date =

(SELECT CONVERT(VARCHAR(20), MAX(Backup_Finish_Date), 120) AS Ultimo

FROM dbo.backupSet(NOLOCK) AS [2]

WHERE [1].database_name = [2].database_name

AND [TYPE] = 'D'

GROUP BY database_name)


--Analisa cópia de segurança diferenciais

(SELECT Database_Name AS Nome,

CONVERT(VARCHAR(20), Backup_Finish_Date, 120) AS Ultimo, Backup_Size

FROM dbo.BackupSet(NOLOCK) AS [1]

WHERE Backup_Finish_Date =

(SELECT CONVERT(VARCHAR(20), MAX(Backup_Finish_Date), 120) AS Ultimo

FROM dbo.backupSet(NOLOCK) AS [2]

WHERE [1].database_name = [2].database_name

AND [TYPE] = 'I'

GROUP BY database_name)


----Analisa cópia de segurança incrementais

(SELECT Database_Name AS Nome,

CONVERT(VARCHAR(20), MAX(Backup_Finish_Date), 120) AS Ultimo

FROM dbo.BackupSet(NOLOCK)

WHERE TYPE = 'L'

GROUP BY Database_Name)

E agora?

Imagino que você pensou que iria executar estas consultas diretamente no SQL Server Management Studio, claro que não. Na verdade as consultas acima são apenas um ‘aperitivo’(rs), pois vou disponibilizar o download da solução do reporting services para você, que unifica as queries, onde as análises serão realizadas.

A única necessidade após o download é abrir a solução no reporting service, criar o dataset(DS), informar na table usada na solução o dataset e executar o deploy.

O legal da solução, é que cada célula da table será colorida na cor vemelha se for identificado a falta de alguma cópia de segurança.

Se você não tiver conhecimentos suficiente para importar a solução para reporting services considere realizar o download da query completa, neste caso você terá que executá-la diretamente na base msdb de cada instância, com as alterações de dia e horário1.

1 Você vai perceber na query que existe a função que faz a análise de dias anteriores, é justamente o ponto chave da query, e isto deve ser modificado seguindo o horário de cópia de segurança das suas bases (instâncias)

Nenhum comentário:

Postar um comentário