El siguiente script tiene por objetivo entregarnos toda la información correspondiente a los respaldos realizados sobre todas las bases de datos de una instancia. En el mismo se encuentra un filtro que nos permite saber la información de un día exacto. Dicho script ha sido probado exitosamente desde la versión SQL Server 2000 hasta 2014
SELECT
A.[Server] as Servidor,
--B.backup_start_date Fecha_inicio,
A.last_db_backup_date as Fecha,
--B.expiration_date,
B.backup_size as [Tamaño(bytes)],
--B.logical_device_name as Nombre_logico,
B.physical_device_name as Nombre_fisico
--B.backupset_name as Backup_set,
--B.description as Descripcion
FROM
(
SELECT
CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server,
msdb.dbo.backupset.database_name,
MAX(msdb.dbo.backupset.backup_finish_date) AS last_db_backup_date
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE msdb..backupset.type = 'D'
AND msdb.dbo.backupset.backup_finish_date < getdate() - 13 --para obtener datos de días anteriores
GROUP BY
msdb.dbo.backupset.database_name
) AS A
LEFT JOIN
(
SELECT
CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server,
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date,
msdb.dbo.backupset.expiration_date,
msdb.dbo.backupset.backup_size,
msdb.dbo.backupmediafamily.logical_device_name,
msdb.dbo.backupmediafamily.physical_device_name,
msdb.dbo.backupset.name AS backupset_name,
msdb.dbo.backupset.description
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE msdb..backupset.type = 'D'
) AS B
ON A.[server] = B.[server] AND A.[database_name] = B.[database_name] AND A.[last_db_backup_date] = B.[backup_finish_date]
ORDER BY
A.database_name
Comments
Post a Comment