Eu estava tentando copiar grandes arquivos de backup de banco de dados (appx. 2 TB cada) para uma região diferente usando o robocopy. Mas notei que as velocidades são drasticamente lentas ao usar o switch /Z . Então eu removi essa opção e minha cópia agora é mais rápida. Mas agora o desafio é
- como verificar a consistência dos arquivos copiados.
- qual é a melhor maneira possível de pular os arquivos se os arquivos já estiverem presentes no local de destino.
- Eu tentei usar o comando powershell get-filehash para verificar a consistência do arquivo, mas é muito lento em arquivos grandes, especialmente em arquivos localizados em regiões diferentes.
Minha sintaxe de comando atual,
robocopy source_directory destination_directory file_name /R:3 /W:10 /LOG+:log_file_location
Quaisquer melhores maneiras possíveis de resolver isso?
O SQL Server tem um comando muito útil que verifica os cabeçalhos, as somas de verificação (se houver) e se o conjunto de backup está completo. Uma verificação de integridade de dados será executada se uma soma de verificação estiver presente, mas for opcional. Da documentação aqui
Duas maneiras de verificar a consistência vêm à mente:
dbcc checkdb
, em vários graus de detalhes (oRESTORE VERIFYONLY
método pode ou não ser suficiente para você)Você pode pular a nova cópia de arquivos usando
robocopy
a funcionalidade de espelhamento do . Eu uso o seguinte para copiar meus backups para outro local, suprimindo toda a saída:Os arquivos que já existem no destino não serão copiados novamente e a estrutura de diretórios será mantida.