İlginizi Çekebilir
  1. Ana Sayfa
  2. SQL Server
  3. SQL Server’da Backup Restore Durum Bilgisini Nasıl Öğrenebilirim.

SQL Server’da Backup Restore Durum Bilgisini Nasıl Öğrenebilirim.

featured

Yazılım geliştirici arkadaşlarım bazı durumlarda geçtiğimiz günlerin veya ayların alınan backuplardan herhangi birini  kullandığımız test ortamlarına  geri dönülmesini talep etmektedirler. Yazılımcı arkadaşlarım Restore işlemi sürerken ne zaman tamamlanacağını öğrenmek için işlem süresi boyunca bu konu hakkında  whatsapp mail  vb iletişim kanallarını kullanarak bilgi almaya çalıştıklarından buna aşağıdaki query ile bir çözüm ürettim :)

 

SELECT session_id as SPID, command, a.text AS Query, start_time, percent_complete, dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE')

SQL Server ”da Availability Groups ‘a bir database eklediniz ve veritabanı boyutlarından ötürü restore süresinin takip etmek isteyebilirsiniz bu işlem için yukarıda yazdığım query veya aşağıdaki query’i kullanabilirsiniz.

 

SELECT r.session_id AS [Session_Id]
    ,r.command AS [command]
    ,CONVERT(NUMERIC(6, 2), r.percent_complete) AS [% Complete]
    ,GETDATE() AS [Current Time]
    ,CONVERT(VARCHAR(20), DATEADD(ms, r.estimated_completion_time, GetDate()), 20) AS [Estimated Completion Time]
    ,CONVERT(NUMERIC(32, 2), r.total_elapsed_time / 1000.0 / 60.0) AS [Elapsed Min]
    ,CONVERT(NUMERIC(32, 2), r.estimated_completion_time / 1000.0 / 60.0) AS [Estimated Min]
    ,CONVERT(NUMERIC(32, 2), r.estimated_completion_time / 1000.0 / 60.0 / 60.0) AS [Estimated Hours]
    ,CONVERT(VARCHAR(1000), (
            SELECT SUBSTRING(TEXT, r.statement_start_offset / 2, CASE
                        WHEN r.statement_end_offset = - 1
                            THEN 1000
                        ELSE (r.statement_end_offset - r.statement_start_offset) / 2
                        END) 'Statement text'
            FROM sys.dm_exec_sql_text(sql_handle)
            ))
FROM sys.dm_exec_requests r
WHERE command like 'RESTORE%'
or  command like 'BACKUP%'
Yorum Yap

Yazar Hakkında

15 yılı aşkın bir süredir Bilgi Teknolojileri sektörünün içerisindeyim. Bilişim sektörü ile alakalı farklı eğitimler sertifikalar edinerek bu sektör içerisin de son 12 yıldır profesyonel olarak çalışmaktayım. Yeditepe Üniversitesi Makine bölümü ve Eskişehir Üniversitesi işletme bölümü mezunuyum. Bilişim sektöründe kurumsal firmalarda, pek çok farklı pozisyonlarda görev aldım.

Yorum Yap