Backup restore progres
Vrlo često vam može zatrebati podatak o tome koliko je backup ili restore procedure završeno ili koliko je još ostalo da se završi.
Kad backup/restore pokrenete kroz GUI, imaćete progres u procentima na ekranu.
Ako pokrenete backup kroz Management Studio, to možete postići opcijom ‘WITH STATS’.
BACKUP DATABASE ImeBaze TO DISK = 'C:\NazivFajla.BAK', WITH STATS GO
Ipak, ponekad je proces pokrenut kroz SQL Agent ili je backup/restore pokrenuo neko drugi, a vam je potrebno da znate status.
U tom slučaju, progres možete pratiti ovom skriptom:
SELECT command, s.text, start_time, percent_complete, CAST(((DATEDIFF(s,start_time,GETDATE()))/3600) as varchar) + ' hour(s), ' + CAST((DATEDIFF(s,start_time,GETDATE())%3600)/60 as varchar) + 'min, ' + CAST((DATEDIFF(s,start_time,GETDATE())%60) as varchar) + ' sec' as running_time, CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), ' + CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, ' + CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as estimate_time_to_go, DATEADD(SECOND,estimated_completion_time/1000, GETDATE()) as estimate_completion_time FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) s WHERE r.command in ('RESTORE DATABASE', 'BACKUP DATABASE', 'RESTORE LOG', 'BACKUP LOG')
Skripta će vam dati podatke o komandi koja je pokrenuta (‘RESTORE DATABASE’, ‘BACKUP DATABASE’, ‘RESTORE LOG’, ‘BACKUP LOG’), tačnom kodu skripte koja je pokrenuta, vremenu početka, utrošenom vremenu, predviđenom vremenu završetka, preostalom vremenu i o kompletiranim dijelu u procentima.
Skripta koristi dynamic management view tako da radi na verzijama SQL Server 2005 i višim.