Le script suivant permet de retrouver les dates de sauvegarde et restauration des BD du serveur ms SQL Server courant.
------------------ Selection de toutes les bases non systeme select name into #DBases from master.dbo.sysdatabases where name not in ('master','tempdb','Northwind','model','msdb','pubs') ----------------------------------------------------------------------------- ------------------Interrogation de chaque bases de données declare @resultat table ( [Base locale] varchar(255), [Source Backup] varchar(255), [restauré] varchar(255), [Backup du] varchar(255), [Restauré par] varchar(255), [Historisé par] varchar(255) ) create table #tmp (data varchar(255)) declare curseur cursor for select name from #dbases open curseur declare @name varchar(255) declare @version varchar(255) fetch next from curseur into @name while @@fetch_status = 0 begin ------------Requete sur la base en cours truncate table #tmp insert into #tmp exec ('select 0') set @version='' select @version=data from #tmp insert into @resultat SELECT --distinct top 1 destination_database_name [Base locale], server_name+'.'+b.database_name [source], convert(varchar(255),restore_date,113) [Restauration], convert(varchar(255),backup_start_date,113) [dump du], --machine_name [serveur source] --b.database_name [Base Source], --physical_name , h.user_name [Restauration], b.user_name [Backup] FROM msdb.dbo.RestoreHistory h INNER JOIN msdb.dbo.BackupSet b ON h.backup_set_id = b.backup_set_id INNER JOIN msdb.dbo.BackupFile f ON f.backup_set_id = b.backup_set_id WHERE destination_database_name = @name -- db_name() order by restore_date desc fetch next from curseur into @name end close curseur deallocate curseur select * from @resultat drop table #tmp drop table #DBases