SQL Server’da çalışan yedekleme ve geri yükleme işlemlerini takip etmek için aşağıdaki sorgu kullanılmaktadır.
SELECT
session_id,
DB_Name(database_id),
start_time,
GETDATE()[current_time],
DATEADD(SECOND, (estimated_completion_time/1000), GETDATE()) as estimated_completion_time,
command,
percent_complete prct_comp,
estimated_completion_time/1000 as EstCmpScs,
estimated_completion_time/(1000*60) as EstCmpMns
FROM sys.dm_exec_requests
WHERE
command = 'BACKUP DATABASE'
OR command = 'RESTORE DATABASE'
OR command = 'BACKUP LOG'
OR command = 'RESTORE LOG'


Bu komut ile mevcut yedekleme ve geri yükleme işlemlerini izleyebiliriz. Veritabanı bazlı çalıştırılan komut ilgili işlemin başlama zamanını tahmini bitirme süresini hesaplamaktadır. Tahmini tamamlanma süresini saniye cinsinden hesaplar.(EstCmpScs) Tahmini tamamlanma süresini dakika cinsinden hesaplar.(EstCmpMns)
Ne zaman kullanılır?
Backup veya restore işlemlerinin ilerleme durumunu görmek için, işlemin ne zaman biteceğini tahmin etmek için, yavaş ilerleyen bir yedekleme veya geri yükleme işleminin nedenini analiz etmek için kullanılır.
Yukarıdaki sorguda command yerine aşağıdaki ifadelerde yazılabilir.
- ALTER INDEX REORGANIZE
- AUTO_SHRINK option with ALTER DATABASE
- BACKUP DATABASE
- CREATE INDEX
- DBCC CHECKDB
- DBCC CHECKFILEGROUP
- DBCC CHECKTABLE
- DBCC INDEXDEFRAG
- DBCC SHRINKDATABASE
- DBCC SHRINKFILE
- KILL (Transact-SQL)
- RESTORE DATABASE,
- UPDATE STATISTICS
Yukarıdaki sorgunun bir benzeri:
select percent_complete,DATEADD(MILLISECOND,estimated_completion_time/1000,getdate()) as Completed_Time
from sys.dm_exec_requests
--where percent_complete>0
where session_id=2460
Başka bir makalede görüşmek dileğiyle..
“İman edip dünya ve âhiret için yararlı işler yapanlara gelince, onları da nimetlerle dolu, içinde ebedî kalacakları cennetler bekliyor. Bunu Allah gerçek olarak vaad etmiştir. O azîzdir, hakîmdir.”Lokman-8-9
