Guest User

Untitled

a guest
Sep 23rd, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. string query = @"declare @DatabaseName sysname = '" + DBName + @"'
  2. declare @BackupChain table (physical_device_name nvarchar(260), type char(1), backup_finish_date datetime)
  3. declare @LastFull datetime, @LastDiff datetime, @LogsAfter datetime
  4.  
  5. insert into @BackupChain
  6. select top 1 physical_device_name, type, backup_finish_date
  7. from msdb.dbo.backupset b
  8. join msdb.dbo.backupmediafamily mf on b.media_set_id = mf.media_set_id
  9. where b.is_copy_only = 0
  10. and b.type = 'D'
  11. and b.database_name = @DatabaseName
  12. order by backup_finish_date desc;
  13.  
  14. select top 1 @LastFull = backup_finish_date from @BackupChain where type = 'D';
  15.  
  16. if @LastFull is not null
  17. begin
  18. insert into @BackupChain
  19. select top 1 physical_device_name, type, backup_finish_date
  20. from msdb.dbo.backupset b
  21. join msdb.dbo.backupmediafamily mf on b.media_set_id = mf.media_set_id
  22. where b.is_copy_only = 0
  23. and b.type = 'I'
  24. and b.backup_finish_date > @LastFull
  25. and b.database_name = @DatabaseName
  26. order by backup_finish_date desc
  27.  
  28. select @LastDiff = backup_finish_date from @BackupChain where type = 'I';
  29.  
  30. set @LogsAfter = isnull(@LastDiff, @LastFull)
  31.  
  32. insert into @BackupChain
  33. select physical_device_name, type, backup_finish_date
  34. from msdb.dbo.backupset b
  35. join msdb.dbo.backupmediafamily mf on b.media_set_id = mf.media_set_id
  36. where b.is_copy_only = 0
  37. and b.type = 'L'
  38. and b.backup_finish_date > @LogsAfter
  39. and b.database_name = @DatabaseName
  40. order by backup_finish_date asc
  41.  
  42. select * from @BackupChain
  43. order by backup_finish_date
  44. end;";
Advertisement
Add Comment
Please, Sign In to add comment