Em nosso ambiente, temos alguns servidores que estão em um grupo de disponibilidade Always On e alguns que são autônomos.
Normalmente fazemos backup em um compartilhamento de rede, mas observamos recentemente que, à medida que os bancos de dados estão crescendo, o tempo gasto está ficando mais longo, o que diminui a velocidade de toda a rede.
O script de Ola hallengren está sendo usado com compactação e também dividindo os arquivos de backup. Estou realizando apenas backups "completos" diários. Os backups estão indo para a unidade EMC isilon de compartilhamento de rede.
Nunca me sinto confortável com o EMC DD Boost. A única alternativa é fazer um backup local e depois copiar para o mesmo compartilhamento de rede.
Existe uma maneira eficiente além da acima?
Existem maneiras de ajustar os backups mexendo com botões diferentes como MAXTRANSFERSIZE ou BUFFERCOUNT , ou separando o arquivo (o que você notou que já está fazendo).
O problema é que tocar nesses botões ainda pode resultar em atingir os limites de sua rede e/ou armazenamento, e eles não têm nenhum impacto real no tempo de backup.
Seu primeiro trabalho deve ser o benchmark do armazenamento para o qual você está fazendo backup usando Crystal Disk Mark ou DiskSpd . Isso lhe dará uma ideia de quão rápido você pode esperar que as gravações sejam melhores.
A próxima coisa que você precisa testar são as leituras das unidades das quais você está fazendo backup. Se você executar um backup para NUL , poderá cronometrar quanto tempo leva apenas a parte de leitura do backup, sem precisar gravá-lo no disco.
Com esses dois números em mente, você pode começar a mexer com outros botões para ver quais o aproximam deles, independentemente de seu destino de backup ser local ou em rede.
A alternativa que você mencionou parece ser a melhor escolha.
O que você pode fazer é um processo de 2 etapas:
Dessa forma, seus backups são locais e rápidos. Você precisará de mais espaço em disco e obviamente redundância (e se o disco de backup falhar - você não deseja perder todos os seus backups).
Como alternativa, execute o Robocopy como uma etapa do trabalho de backup para garantir que o robocopy ocorra apenas se o backup for concluído com êxito e o mais rápido possível após a conclusão do backup. O backup corre o mesmo risco que os dados, desde que permaneça local.
Além disso, teste regularmente suas restaurações, pois se você não puder restaurar um backup - para que serve isso!
Além disso, consulte minha resposta para SQL Backup ajustando bancos de dados grandes
Algumas soluções potenciais:
Existem vários parâmetros relacionados ao desempenho que você pode ajustar nos scripts do Ola, você pode ajustá-los para obter o desempenho desejado:
BlockSize
Especifique o tamanho do bloco físico em bytes.
A opção BlockSize no DatabaseBackup usa a
BLOCKSIZE
opção no comando SQL Server BACKUP.BufferCount
Especifique o número de buffers de E/S a serem usados para a operação de backup.
A opção BufferCount no DatabaseBackup usa a opção no comando
BUFFERCOUNT
SQL Server .BACKUP
MaxTransferSize Especifique a maior unidade de transferência, em bytes, a ser usada entre o SQL Server e a mídia de backup.
A opção MaxTransferSize no DatabaseBackup usa a opção no comando
MAXTRANSFERSIZE
SQL Server .BACKUP
Há muitas opções possíveis, mas à medida que os bancos de dados ficam maiores e os backups completos demoram mais, você provavelmente terá que incorporar backups diferenciais , caso ainda não tenha feito:
Meu entendimento é que os scripts do Ola podem até ser configurados para decidir entre um backup completo ou diferencial baseado na quantidade de mudança no banco de dados usando o parâmetro ModificationLevel .
Usamos o EMC DD Boost, e você pode dar sua opinião sobre isso, mas descobrimos, devido aos métodos de eliminação de duplicação do lado do cliente que ele usa, que backups completos de bancos de dados multi-TB podem ser muito rápidos, a ponto de não precisarmos nos preocupar com backups diferenciais do SQL Server. Com efeito, usando o EMC DD, você está fazendo backups diferenciais, mas não no SQL Server. O uso de vários arquivos de destino também melhora muito a velocidade, mesmo no DDBoost.