Quando faço backup ou restauro um banco de dados usando o MS SQL Server Management Studio, recebo uma indicação visual de quanto o processo avançou e, portanto, quanto tempo ainda preciso esperar para que ele termine. Se eu iniciar o backup ou restaurar com um script, há uma maneira de monitorar o progresso ou devo apenas sentar e esperar que ele termine (esperando que nada tenha dado errado?)
Editado: minha necessidade é especificamente poder monitorar o andamento do backup ou restauração completamente separado da sessão onde o backup ou restauração foi iniciado.
fonte
Encontrei este script de amostra aqui que parece estar funcionando muito bem:
fonte
Se você souber o ID da sessão, poderá usar o seguinte:
Ou se você quiser restringir:
fonte
Aqui está um script simples que geralmente funciona para mim:
fonte
Muitas vezes acontece que sua atividade de backup (ou restauração) foi iniciada por outro administrador de banco de dados ou por um trabalho, e você não pode mais usar a GUI para verificar o andamento desse backup / restauração.
Ao combinar vários comandos, eu gerei o script abaixo que pode nos dar um resumo dos backups e restaurações atuais que estão acontecendo no servidor.
fonte
fonte
Use STATS no comando BACKUP se for apenas um script.
Dentro do código é um pouco mais complicado. No ODBC, por exemplo, você define SQL_ATTR_ASYNC_ENABLE e, em seguida, procura o código de retorno SQL_STILL_EXECUTING e faz algumas chamadas repetidas de SQLExecDirect até obter um SQL_SUCCESS (ou eqiv).
fonte
Experimente com:
fonte
Use a opção STATS: http://msdn.microsoft.com/en-us/library/ms186865.aspx
fonte
Acho que a melhor maneira de descobrir como o andamento da sua restauração ou backup é pela seguinte consulta:
A consulta acima, identifica a sessão por si só e realiza uma porcentagem de progresso toda vez que você pressiona F5 ou o botão Executar no SSMS!
A consulta foi realizada pelo cara que escreve esta postagem
fonte
Adicione
STATS=10
ouSTATS=1
no comando de backup.fonte
SELECT session_id como SPID, command, start_time, percent_complete, dateadd (second, estimado_completion_time / 1000, getdate ()) como estimado_completion_time, a.text AS Query FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text (r.sql_handle). comando em ('BACKUP DATABASE', 'BACKUP LOG', 'RESTORE DATABASE', 'RESTORE LOG')
fonte
Para qualquer pessoa que execute o SQL Server em RDS (AWS), há um procedimento integrado que pode ser chamado no
msdb
banco de dados que fornece informações abrangentes para todas as tarefas de backup e restauração:Isso fornecerá um resumo completo de cada tarefa, sua configuração, detalhes sobre a execução (como porcentagem concluída e duração total) e uma
task_info
coluna que é extremamente útil ao tentar descobrir o que há de errado com um backup ou restauração.fonte
Para monitorar o progresso do backup ou restauração, completamente separado da sessão onde o backup ou restauração foi iniciado. Nenhuma ferramenta de terceiros necessária. Testado no Microsoft SQL Server 2012.
fonte
Estou usando sp_whoisactive, um padrão basicamente da indústria muito informativo. ele retorna a porcentagem concluída também.
fonte
simplesmente execute bkp_status no banco de dados master você obterá o status de backup
fonte