DBAtlas · Veritabanı operasyon atlası

Yedek / restore / CHECKDB ilerlemesini ve bitiş tahminini gör

SQL ServerYedek & Log

Komut

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 asamalari ve hiz bilgisi error log'da:
EXEC sys.xp_readerrorlog 0, 1, N'Restore';

Ne yapar?

percent_complete raporlayan uzun işlemlerin (BACKUP, RESTORE, DBCC CHECKDB/SHRINK, ALTER INDEX REORGANIZE, KILL sonrası rollback) yüzde ilerlemesini, tahmini bitiş saatini ve o an ne beklediğini gösterir.

Ne zaman kullanılır?

Gece yedeği sabaha sarktığında, büyük restore sırasında "ne zaman biter" sorusuna, KILL edilen oturumun rollback'ini izlerken.

Dikkat

Tahmin doğrusal ilerlemeye dayanır; restore'un redo/undo aşamasında ve log zero-initialization sırasında yüzde uzun süre yerinde sayabilir. Log dosyası instant file initialization'dan yararlanmaz (2022'de 64 MB'a kadar growth hariç); büyük log'lu restore'larda ilk aşama uzun sürer. Sadece sorgu; risksiz.

DBAtlas'ta aç →

İlgili