Они взяты из моей автоматизации резервного копирования:
Сначала получите список всех баз данных, включая их GUID базы данных:
select db.name, db.database_id, rec.database_guid
from sys.databases db
inner join sys.database_recovery_status rec on db.database_id = rec.database_id
where db.source_database_id is null and db.name <> 'tempdb'
Условие source_database_id
исключает моментальные снимки.
Затем, используя вышеуказанный GUID, получите дату последней полной резервной копии type='D'
, которая не COPY_ONLY
:
SELECT MAX(backup_finish_date) as backup_finish_date
from msdb..backupset
where type='D' and database_guid = @DbGuid and is_copy_only=0