Quando o @CleanupTime
parâmetro é usado no [dbo].[DatabaseBackup]
procedimento, os arquivos de backup antigos de destino são excluídos após cada backup de banco de dados bem-sucedido? Ou todos os backups são processados primeiro e depois a limpeza é realizada?
Estou tendo problemas com espaço livre em disco e tento fornecer ao administrador da rede uma especificação precisa para o tamanho do volume de backup.
Eu li Entendendo o CleanupTime nos scripts do SQL Server de Ola Hallengren em relação aos backups FULL e LOG antes de postar. Não encontrei resposta para minha pergunta lá. Se está lá, eu perdi. Basta lê-lo novamente, mas ainda não vê nada.
Há um
@CleanupMode
parâmetro separado que controla se a limpeza acontece antes ou depois. O comportamento padrão é fazer a limpeza DEPOIS. Esta é a opção mais segura, mas requer mais espaço em disco. No caso de um backup com falha, nada é limpo, garantindo que você tenha arquivos extras, em vez de excluir um arquivo sem criar um novo.Isso é particularmente importante se os backups falharem repetidamente (limpando, mas nunca fazendo um novo) ou quando houver uma retenção muito curta.
Da documentação :
Modo de limpeza
Especifique se os arquivos de backup antigos devem ser excluídos antes ou após a execução do backup.
Valores:
BEFORE_BACKUP
- Exclua os arquivos de backup antigos antes que o backup seja executado.AFTER_BACKUP
- Exclua os arquivos de backup antigos após o backup e verifique se foi realizado. Se o backup ou a verificação falharem, nenhum arquivo de backup será excluído. Este é o padrão.