Utilizando o BitsTransfer para Transferir Arquivos Grandes

4 de dezembro de 2019 0 Por Rodrigo Crespi

Em uma migração que realizamos, um colega precisou mover dois arquivos de 2tb cada para unidades de disco diferentes.

Porém, esta cópia ficou lenta e fomos questionados em como ter conhecimento do andamento do processo e se havia travado.

O colega utilizou o cmdlet copy-item e apesar de já ter visto em diversos sites este assunto com copy-item e progressbar, a solução que recomendamos é bem mais simples.

Compreendendo o BitsTransfer: foi introduzido no Windows XP em 2001 e atualmente está na versão 10.x, entrou para o OS Server na versão 3.0 no Windows Server 2008.

O Microsoft Windows Backgroud Intelligent Transfer Service, daí vem o BITS, é um componente do Windows que executa transferências assíncronas em background, onde ele prioriza as requisições de transferências de arquivos de aplicações. Se houver alguma interrupção do processo, o BITS automaticamente reconecta e continua a transferência.

O BITS é utilizado por produtos como Windows/Microsoft Update, WSUS, Microsoft Security Essentials e alguns outros produtos de mensagem instantânea.

Para conhecer mais veja o link:
https://docs.microsoft.com/en-us/powershell/module/bitstransfer/?view=win10-ps

Como utilizar para copiar os arquivos?

Veja o código abaixo, onde tenho a variável $origem e $destino.

Import-Module BitsTransfer -Force
$origem = 'd:\sql19'
$destino = 'c:\sql19'
Start-BitsTransfer -Source $origem `
                   -Destination $destino `
                   -Description "Cópia do Iso" `
                   -DisplayName "SQL Server 2019"

Veja na imagem abaixo como será “desenhado” o acompanhamento em tela.

Esperamos que esta dica seja útil para você!
Abraço, Equipe CrespiDB!