Ver el progreso y la finalización estimada de backup / restauración / CHECKDB
SQL ServerBackup y logComando
SELECT r.session_id, r.command, DB_NAME(r.database_id) AS db,
CAST(r.percent_complete AS DECIMAL(5,1)) AS pct,
DATEADD(SECOND, r.estimated_completion_time / 1000, GETDATE()) AS eta,
r.total_elapsed_time / 60000 AS elapsed_min,
r.wait_type, r.wait_time, r.blocking_session_id
FROM sys.dm_exec_requests r
WHERE r.percent_complete > 0;
-- Restore phases and throughput are in the error log:
EXEC sys.xp_readerrorlog 0, 1, N'Restore';Qué hace
Muestra el progreso porcentual, la hora estimada de finalización y la espera actual de las operaciones largas que reportan percent_complete (BACKUP, RESTORE, DBCC CHECKDB/SHRINK, ALTER INDEX REORGANIZE, rollback tras KILL).
Cuándo usarlo
Cuando el backup nocturno se mete en el horario laboral, para responder "cuándo terminará" durante una restauración grande o para seguir el rollback de una sesión matada.
Precaución
La estimación supone un progreso lineal; durante las fases de redo/undo de una restauración y durante la inicialización a ceros del log, el porcentaje puede quedarse detenido mucho tiempo. Los archivos de log no se benefician de instant file initialization (salvo crecimientos de hasta 64 MB en 2022); las restauraciones con logs grandes pasan mucho tiempo en la primera fase. Consulta de solo lectura; segura.