Quanto tempo vai demorar para…


Você já passou por aquela situação de ter que fazer um backup de uma base que não é imagepequena e não ter ideia de quanto tempo vai demorar? Você fica olhando aquela circulo maldito do SSMS rodando e rodando e nada, quando ele mostra alguma coisa é de 10% em 10%,,, Ou quando executa um script ele também fica nos 10% em 10%,,,

Isso é muito chato,,,

Estava passeando em alguns sites com scripts interessantes e alguns me chamaram a atenção:

No site Adventures in SQL achei o posto script é bem simples e muito interessante:

--http://adventuresinsql.com/2010/10/when-is-that-restore-going-to-finish/
--Quando meu backup vai acabar?
SELECT command,
session_id,
percent_complete,
DATEADD(ms, estimated_completion_time, GETDATE()) AS estimated_completion_time,
GETDATE(),
start_time
FROM MASTER.sys.dm_exec_requests
WHERE percent_complete >0

Ai, um pouco depois, achei um outro script um pouco mais completo no site do Aaron Bertrand (Blog | Twitter), ele mostra backup/restore e index reorg, a sessão, o comando,,,

--http://sqlblog.com/blogs/aaron_bertrand/archive/2009/07/30/when-will-my-backup-restore-index-reorganize-finish.aspx
--Quanto tempo meu backup/restore/index reorg vai demorar?
--NÃO funciona com bases com modo de compatibilidade 8
SELECT r.[session_id],
c.[client_net_address],
s.[host_name],
c.[connect_time],
[request_start_time]= s.[last_request_start_time],
[current_time]=CURRENT_TIMESTAMP,
r.[percent_complete],
[estimated_finish_time]=DATEADD (MILLISECOND, r.[estimated_completion_time], CURRENT_TIMESTAMP),
current_command =SUBSTRING (t.[text], r.[statement_start_offset]/2, COALESCE(NULLIF(r.[statement_end_offset], -1)/2, 2147483647)),
module =COALESCE(QUOTENAME(OBJECT_SCHEMA_NAME(t.[objectid], t.[dbid])) +'.'+QUOTENAME(OBJECT_NAME(t.[objectid], t.[dbid])), '<ad hoc>')
FROM sys.dm_exec_requests AS r INNER JOIN sys.dm_exec_connections AS c
ON r.[session_id]= c.[session_id] INNER JOIN sys.dm_exec_sessions AS s
ON r.[session_id]= s.[session_id] CROSS APPLY sys.dm_exec_sql_text(r.[sql_handle]) AS t
WHERE r.[percent_complete]<>0;

Ambos são scripts para guardar no pendrive e levar sempre.

Um pensamento sobre “Quanto tempo vai demorar para…

Deixe uma resposta para Gustavo Souza Cancelar resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s