Listar tamanho de backups dos bancos de dados

Vira e mexe precisamos listar o tamanho dos backups de banco de dados da nossa instância, com a demanda recorrente por essa informação precisei criar um script que lista o nome da base, tamanho com e sem compressão, caminho onde o arquivo foi salvo, taxa de compressão, dentre outros.

O script abaixo é foi utilizado e retorna inúmeras informações úteis:

USE msdb
GO
SELECT
bs.database_name as ‘Database’,
bm.physical_device_name as ‘Caminho’,
CAST(CAST(bs.backup_size / 1000000 AS BIGINT) AS VARCHAR(100)) + ‘ MB’ AS ‘Tamanho do Backup’,
CAST(CAST(compressed_backup_size / 1000000 as BIGINT) AS VARCHAR(100)) + ‘ MB’ AS ‘Tamanho do Backup Comprimido’,
bs.backup_start_date,
CASE bs.[type] WHEN ‘D’ THEN ‘Full’
WHEN ‘I’ THEN ‘Differential’
WHEN ‘L’ THEN ‘Transaction Log’
END AS BackupType,
backup_size / compressed_backup_size as ‘Taxa de compressão’
FROM msdb.dbo.backupset bs
JOIN msdb.dbo.backupmediafamily bm
ON bs.media_set_id = bm.media_set_id
ORDER BY database_name ASC, backup_start_date DESC
GO

Output do comando:

Backup

Como pode ser visto, o backup do banco BDTESTE tem um ganho significativo de economia de espaço quando utiliza a compressão de dados, sendo que seu tamanho cresce naturalmente ao passar dos dias, conforme utilização por parte dos sistemas/usuários.

Leonardo Pedroso

Leonardo Pedroso

Profissional de TI experiência em administração de banco de dados: SQL Server 2000 a 2019, Oracle 11g a 19c, PostgreSQL, MySQL, MongoDB, Cassandra. Atua realizando análise de desempenho, DR e HA, implantação, administração de banco de dados em cluster e implementação de projetos de banco de dados NoSQL (MongoDB, Cassandra), bem como automação de processos utilizando Shell script, Powershell (dbatools), e players de Cloud: Azure e Aws.