Arquivo da tag: Tempo de execução

Tempo restante para finalizar execução do Backup no Microsoft SQL Server 2008 e R2.


Pessoal, bom dia.

Quais as novidades?

Estou de volta com mais uma dica para vocês. Hoje vou falar um pouco sobre o tempo de execução de um processo de Backup.

Introdução

Uma das principais atividades de qualquer profissional da área de TI é manter seu ambiente em funcionamento, pois bem, para que isso possa acontecer nada como realizar o bom e velho processo de backup.

Acredito que você leitor já deve ter passado pela necessidade de realizar um backup de seu ambiente, máquina, banco de dados, arquivos, etc.

Existem diversos mitos sobre as técnicas de backup, mas na verdade o problema normalmente não esta relacionado ao processo de backup, muito pelo contrário, o problema na verdade é o processo de Restore(Restauração ou Recuperação dos Dados). Sendo o processo de restauração, atividade crucial para funcionamento e disponibilidade de todo e qualquer tipo de ambiente.

Para Microsoft esta preocupação é a mesma de todos, manter sempre o ambiente seguro, o administrador tranqüilo e o usuário feliz. Pensando nisso, a Microsoft introduziu a partir do SQL Server 2008 alguns atributos que possibilitam consultar e obter informações sobre o tempo de execução de um backup, como também, seu indicador de execução e até mesmo o tempo restante para sua conclusão.

Como obter informações sobre o Backup

O processo de backup normalmente apresenta um conjunto específico de informações que nos ajudam a identificar o quanto esta atividade demanda de processamento de hardware, como também, a sua importância.

Para que possamos obter estas informações durante o seu tempo de execução, foi introduzido a partir do Microsoft SQL Server 2008, a DMV(Dynamic Management View / Visão de Gerenciamento Dinâmico) chamada: sys.dm_exec_requests.

É com base nesta nova DMV, que temos a possibilidade de encontrar as informações todas as transações em execução em nosso Servidor ou Instância SQL Server. Esta DMV possui um conjunto específico de dados utilizados em tempo real e de forma dinâmica, o que possibilitam a sua obtenção de informação no tempo de execução da transação.

A seguir apresento algumas das colunas existentes na sys.dm_exec_requests, utilizadas para retorno de dados sobre o Backup:

  • Command: Apresenta o time do comando transacional em execução;
  • Estimated_Completion_Time: Apresenta uma estimativa de tempo para conclusão da transação;
  • Start_Time: Apresenta a data e hora de inicialização da transação; e
  • Percent_Complete: Apresenta a porcentagem de execução concluída para esta transação.

Através da combinação de uso destas quatro colunas, foi possível desenvolver o código de permite identificar e apresentar as informações sobre o tempo de execução e conclusão do Backup.

A seguir apresento o Código 1, utilizado como método de transação para obtenção de dados sobre a execução de um backup:

— Exemplo: Código 1 – Obtendo informações sobre o Backup —

SELECT command,

               ‘EstimatedEndTime’ = Dateadd(ms,estimated_completion_time,Getdate()),

               ‘EstimatedSecondsToEnd’ = estimated_completion_time / 1000,

               ‘EstimatedMinutesToEnd’ = estimated_completion_time / 1000 / 60,

               ‘BackupStartTime’ = start_time,

               ‘TimeExecution’=  DateDiff(minute,Getdate(),Start_time),

               ‘PercentComplete’ = percent_complete

FROM sys.dm_exec_requests

 WHERE session_id = @@SPID

De posse deste código, agora fica mais fácil conseguir encontrar as informações sobre o tempo de execução, estimativas de encerramento e porcentagem já concluída do nosso backup.

 Espero que todos tenham gostado nos encontramos em breve.

 Até mais.