## Kedy použiť Pri restore, dlhom CHECKDB, upgrade alebo v maintenance okne – keď sa niekto pýta „kedy to dobehne?“. ## Ako čítať výsledok `percent_complete` a `estimated_finish` sú orientačné; pri RESTORE sa odhad mení medzi fázami (kopírovanie dát, redo, undo). > [!WARNING] > `percent_complete` vypĺňajú len niektoré príkazy (BACKUP, RESTORE, DBCC CHECKDB / SHRINKFILE, ROLLBACK…). Prázdny výsledok neznamená, že nebeží žiadna údržba – napr. `ALTER INDEX … REBUILD` sa tu neukáže (`REORGANIZE` percento hlási). **Oprávnenia:** `VIEW SERVER STATE` (na SQL Server 2022 stačí aj `VIEW SERVER PERFORMANCE STATE`). **Režim:** READ ONLY · **Verzia:** SQL Server 2016 – 2022 ## Súvisiace recepty - [História záloh](script.php?id=31&s=historia-zaloh-typ-velkost-kompresia-subor)
Skript
Priebeh BACKUP / RESTORE / DBCC
Prebiehajúce zálohy, obnovy a DBCC príkazy s percentom hotovosti a odhadom, kedy skončia.
Parametre skriptu doplň a kopíruj hotový skript
/* DeadlockCafe | Priebeh BACKUP / RESTORE / DBCC
Účel: Prebiehajúce zálohy, obnovy a DBCC príkazy s percentom hotovosti a odhadom, kedy skončia.
Režim: READ ONLY | SQL Server 2016 – 2022, on-premises
*/
SET NOCOUNT ON;
SELECT r.session_id, r.command, r.status, r.start_time,
r.percent_complete,
r.total_elapsed_time / 1000 AS elapsed_seconds,
r.estimated_completion_time / 1000 AS estimated_remaining_seconds,
DATEADD(MILLISECOND, r.estimated_completion_time, SYSDATETIME()) AS estimated_finish,
DB_NAME(r.database_id) AS database_name, r.wait_type,
t.text AS sql_batch
FROM sys.dm_exec_requests AS r
OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) AS t
WHERE r.command LIKE 'BACKUP%'
OR r.command LIKE 'RESTORE%'
OR r.command LIKE 'DBCC%'
ORDER BY r.start_time;