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