locked
Backup Full com sobrescrita de arquivo. RRS feed

  • Pergunta

  • Olá pessoal,

    Tenho a seguinte dúvida, estou criando uma rotina de backup da seguinte maneira: O backup será realizado diariamente as 00:00 e expirará apos 3 dias. Queria saber como posso fazer para no 4º dia ele sobrescrever o primeiro backup.

    EX:

    Backup dia 1 - backup dia 4 sobrescreve o backup 1

    Backup dia  2 - backup dia  5 sobrescreve o backup 2

    Backup dia  3 - backup dia  6 sobrescreve o backup 3 e etc......

    Eu estava usando essa SQL em um job para o backup de algumas bases menores:

    BACKUP DATABASE TESTE
    TO DISK = 'C:\BACKUP\TESTE.BAK'
    WITH INIT, COMPRESSION, CHECKSUM, RETAINDAYS = 1, SKIP

    Mas estou com dúvida de como fazer esse procedimento de sobrescrever o arquivo após o 3º dia, eu poderia fazer isso via plano de manutenção ou via SQL? Se alguém puder me ajudar com essa duvida ficarei agradecido. 

    Abraços a todos

    sexta-feira, 26 de setembro de 2014 17:51

Respostas

  • Luiz,

    Uma pergunta: Você não acredito que seja um risco sobreescrever estes backups? Pois caso você necessite de algum dado de um destes dias não terá mais a possibilidade de restaurar.

    O que você este querendo vai poder ser feito através da verificação de qual é o dia da semana, para isso, veja este exemplo:

    Set DateFirst 1
    
    Declare @DiadaSemana TinyInt,
            @Hora Char(5)
    
    Select @DiadaSemana = DATEPART (WeekDay, Getdate()), @Hora=Convert(Char(5),GetDate(),114)
    
    If (@DiadaSemana = 1)
    Begin
    
     If (@Hora='12:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Segunda\Protheus10-Segunda-Manha.bak' With Init, Format;
     
     If (@Hora='22:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Segunda\Protheus10-Segunda-Noite.bak' With Init, Format;
    End
     
    If (@DiadaSemana = 2)
    Begin
    
     If (@Hora='12:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Terça\Protheus10-Terça-Manha.bak' With Init, Format;
     
     If (@Hora='22:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Terça\Protheus10-Terça-Noite.bak' With Init, Format;
    End
    
    If (@DiadaSemana = 3)
    Begin
    
     If (@Hora='12:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Quarta\Protheus10-Quarta-Manha.bak' With Init, Format;
     
     If (@Hora='22:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Quarta\Protheus10-Quarta-Noite.bak' With Init, Format;
    End
    
    If (@DiadaSemana = 4)
    Begin
    
     If (@Hora='12:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Quinta\Protheus10-Quinta-Manha.bak' With Init, Format;
     
     If (@Hora='22:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Quinta\Protheus10-Quinta-Noite.bak' With Init, Format;
    End
    
    If (@DiadaSemana = 5)
    Begin
    
     If (@Hora='12:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Sexta\Protheus10-Sexta-Manha.bak' With Init, Format;
     
     If (@Hora='22:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Sexta\Protheus10-Sexta-Noite.bak' With Init, Format;
    End
    
    If (@DiadaSemana = 6)
    Begin
    
     If (@Hora='12:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Sábado\Protheus10-Sábado-Manha.bak' With Init, Format;
     
     If (@Hora='22:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Sábado\Protheus10-Sábado-Noite.bak' With Init, Format;
    End
    
    If (@DiadaSemana = 7)
    Begin
    
     If (@Hora='12:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Domingo\Protheus10-Domingo-Manha.bak' With Init, Format;
     
     If (@Hora='22:00')
      Backup Database Protheus10 To Disk = 'F:\Backup-SQL\Domingo\Protheus10-Domingo-Noite.bak' With Init, Format;
    End


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    sábado, 27 de setembro de 2014 23:07
    Moderador