Monitorar progresso de Backup e Restore no SQL Server
Neste post, veremos como monitorar a atividade de backup ou restore sem a utilização de interface gráfica.

Quando efetuamos um Backup ou Restore de um banco de dados SQL Server pela interface gráfica do Microsoft SQL Server Management Studio fica muito fácil de acompanhar o status do andamento destas tarefas pela tela desta ferramenta.
Mas algumas vezes, o DBA pode não ter acesso a tela gráfica, ou o backup ou restore esta sendo executado via JOB do banco de dados ou por Query T-SQL.
Além disso, ao trabalhar com bases gigantescas é comum lhe pedirem uma previsão de termino da atividade de backup ou restore.
Nestas situações e cenário fica um pouco diferente e podemos executar a query abaixo para saber como esta o andamento de um backup ou do restore no banco de dados SQL Server:
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')
Veja abaixo um exemplo do resultado desta query:
SPID | command | Query | start_time | percent_complete | estimated_completion_time |
56 | RESTORE DATABASE | USE [master] RESTORE DATABASE [WEBMUNDIDB] FROM DISK = N’\\serverwm1\Backup\WEBMUNDIDB.bak’ WITH FILE = 1, MOVE N’WEBMUNDIDB’ TO N’D:\DB\WEBMUNDIDB.mdf’, MOVE N’WEBMUNDIDB_log’ TO N’D:\DB\WEBMUNDIDB_log.ldf’, NOUNLOAD, REPLACE, STATS = 5 | 2016-05-04 17:26:22.663 | 22,33463 | 2016-05-04 20:57:37.223 |
Significado de cada coluna do resultado da consulta:
- SPID – Server Process ID ou ID de Processo do Servidor
- Command – Tipo de comando que esta sendo executado (Backup ou Restore)
- Query – Consulta que esta sendo executada no banco de dados
- start_time – Horário de inicio de execução da Query
- percent_complete – Percentual Completado do Comando Restore ou Backup
- estimated_completion_time – Tempo estimado para completar
Obrigado
Espero que esta matéria tenha sido útil e tenha lhe ajudado a aumentar seus conhecimentos no banco de dados SQL Server da Microsoft.
Se você gostou, compartilhe estas dicas com um amigo ou participe de nossas redes sociais.
Caso queira nos incentivar a criar mais conteúdos como este, prestigie nossos anunciantes.
Esta é uma forma de você apoiar o Web Mundi e fazer com que mais pessoas tenha acesso a este tipo de informação.
Um Grande Abraço
Renato Sanches
Gestor de TI – Tecnologia da Informação
Trabalhando com o banco de dados SQL Server desde 1994