Проверьте последнюю дату резервного копирования базы данных в C # - SQL Server 2008 - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть приложение C # windows Forms, и при загрузке формы запуска я хочу проверить, когда в последний раз выполнялось резервное копирование базы данных, к которой подключается приложение.

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Они взяты из моей автоматизации резервного копирования:

Сначала получите список всех баз данных, включая их 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
1 голос
/ 28 сентября 2011

Вы можете создать процедуру магазина, которая сделает всю работу за вас.затем вы можете выполнить его в событии OnLoad формы или там, где он подходит для ваших нужд.

Посмотрите на нижеприведенный файл, чтобы получить T-SQL, который выполняет трюк

http://www.mssqltips.com/sqlservertip/1601/script-to-retrieve-sql-server-database-backup-history-and-no-backups/

...