Backup restore progres

progress-bar-type-1

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.

You may also like...