вторник, 30 января 2018 г.

Информация о последних бэкапах баз в MS SQL Server


Подготовил себе простенький скрипт для оперативного просмотра последних бэкапов:

use msdb
SELECT 
BackupSets.backup_set_id -- Уникальный идентификационный номер резервного набора, который определяет резервный набор. Идентификатор, первичный ключ.
,backupset.backup_start_date --  Дата и время начала операции резервного копирования. Может принимать значение NULL. 
,BackupSets.backup_finish_date -- Дата и время окончания операции резервного копирования. Может принимать значение NULL. 
,BackupSets.backup_finish_date - backupset.backup_start_date backup_time -- Длительность выполнения
,BackupSets.DBName -- Имя базы данных, участвовавшей в операции резервного копирования. Может принимать значение NULL. 
,BackupSets.BackupType -- Тип резервного копирования.
,BackupSets.DescrType -- Человеческое отображение типа резервной копии
,backupset.media_set_id media_set_id -- Уникальный идентификационный номер набора носителей, который определяет набор носителей, содержащий резервный набор данных.
,backupset.backup_size backup_size --  Размер резервного набора данных в байтах. Может принимать значение NULL. 
,backupmediafamily.physical_device_name -- Физическое имя устройства резервного копирования. Может принимать значение NULL. 
FROM 
(
select 
MAX(backupset.backup_set_id) backup_set_id
,MAX(backupset.backup_finish_date) backup_finish_date
,backupset.database_name DBName
,backupset.type BackupType
,CASE backupset.type
WHEN 'D' THEN 'Копирование базы данных'
WHEN 'I' THEN 'Разностное копирование базы данных'
WHEN 'L' THEN 'Копирование журнала'
WHEN 'F' THEN 'Копирование файла или файловой группы'
WHEN 'G' THEN 'Разностное копирование файла'
WHEN 'P' THEN 'Частичное копирование'
WHEN 'Q' THEN 'Частичное разностное копирование'
ELSE NULL
END DescrType
--,backupmediafamily.physical_device_name
from backupset AS backupset
WHERE backupset.database_name IN ('base1', 'base2', 'base3') AND backupset.type IN ('D', 'I')
GROUP BY 
backupset.database_name 
,backupset.type 
,CASE backupset.type
WHEN 'D' THEN 'Копирование базы данных'
WHEN 'I' THEN 'Разностное копирование базы данных'
WHEN 'L' THEN 'Копирование журнала'
WHEN 'F' THEN 'Копирование файла или файловой группы'
WHEN 'G' THEN 'Разностное копирование файла'
WHEN 'P' THEN 'Частичное копирование'
WHEN 'Q' THEN 'Частичное разностное копирование'
ELSE NULL
END 
) BackupSets
INNER JOIN backupset backupset ON backupset.backup_set_id = BackupSets.backup_set_id
LEFT JOIN backupmediafamily backupmediafamily ON backupmediafamily.media_set_id = backupset.media_set_id
order by 
BackupSets.DBName
,BackupSets.backup_finish_date desc

Комментариев нет:

Отправить комментарий