Voir la progression et l'achèvement estimé d'une sauvegarde / restauration / d'un CHECKDB
SQL ServerSauvegarde et journalCommande
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';Ce que fait la commande
Affiche le pourcentage de progression, l'heure de fin estimée et l'attente en cours pour les opérations longues qui rapportent percent_complete (BACKUP, RESTORE, DBCC CHECKDB/SHRINK, ALTER INDEX REORGANIZE, rollback après KILL).
Quand l'utiliser
Quand la sauvegarde nocturne déborde sur les heures ouvrées, pour répondre à "quand cela va-t-il finir" pendant une grosse restauration, ou pour suivre le rollback d'une session tuée.
Attention
L'estimation suppose une progression linéaire ; pendant les phases redo/undo d'une restauration et pendant l'initialisation à zéro du journal, le pourcentage peut stagner longtemps. Les fichiers journaux ne bénéficient pas de l'instant file initialization (sauf les croissances jusqu'à 64 MB en 2022) ; les restaurations avec de gros journaux passent longtemps dans la première phase. Requête en lecture seule ; sûre.
Voir aussi
- Effectuer une sauvegarde du journal des transactions
- Effectuer des sauvegardes FULL et DIFFERENTIAL
- Pourquoi le fichier journal a grossi / pourquoi il ne se tronque pas
- Réduire le fichier journal
- Afficher le nombre de VLF (Virtual Log File)
- Trouver la plus ancienne transaction ouverte (ACTIVE_TRANSACTION)