Situatie
Sunt situatii in care un backup, facut printr-un job sau facut de altcineva, dureaza mult (sau mai mult decat suntem obisnuiti) si vrem sa vedem care e starea lui: daca s-a blocat sau nu, si cat mai are pana cand se termina.
Pentru o astfel de situatie am facut o procedura care, rulata pe un server de sql, returneaza toate backupurile ce sunt in progres si pentru fiecare backup de baza de date, returneaza urmatoarele coloane:
– DatabaseName = numele bazei de date pt care este un backup in progres
– PercentCompleted = procentul deja facut din backup
– SQLCommand = textul comenzii de backup (aici se poate vedea si calea sau device-ul in care se face backup-ul)
Solutie
alter procedure BD_SearchBackupStatus_prc
as
SELECT
A.NAME AS DatabaseName,
B.PERCENT_COMPLETE as PercentCompleted,
(SELECT TEXT FROM sys.dm_exec_sql_text(B.SQL_HANDLE)) AS SQLCommand
FROM master..sysdatabases A, sys.dm_exec_requests B
WHERE A.DBID=B.DATABASE_ID AND
B.COMMAND LIKE ‘%BACKUP%’
ORDER BY
B.PERCENT_COMPLETE DESC,
B.TOTAL_ELAPSED_TIME/60000 DESC
Leave A Comment?