none
BACKUP SQL 2005 RRS feed

  • Pergunta

  •  

    Boa Tarde,

    Configurei um Plano de Manutenção para rodar os backups das bases SQL Server 2005.
    Os backups estão rodando normal, porém a cada backup ele cria um nome diferente e com isso eu acabo tendo que fazer uma limpa dos backups antigos diariamente.
    Gostaria de saber se tem como configurar para que essa limpeza se ja feita na hora que ele termine o backup.

    Obs: tem uma opção onde você diz quantos dias vc quer manter de histórico, essa opção esta cetada para 1 dia, com isso eu fico com o backup atual e anterior. Gostaria de ficar somente com o atual

    Obrigado

    quarta-feira, 21 de fevereiro de 2007 19:32

Respostas

  • Raoni,

     

    O Agendamento de tarefas no SQL Server é conhecido como Jobs, sendo que cada job poderá executar mais uma tarefa ao mesmo tempo.

     

    Toda e qualquer tarefa executada no SQL Server, esta relacionada com o serviço SQL Agent, sendo este serviço responsável por gerenciar os Jobs.

     

    Agora, qual edição do SQL Server 2005 você esta utilizando, pois edição Express não possui o SQL Agent, desta forma, o agendamento de tarefas deverá ser realizar através de arquivos .sql em conjunto com as tarefas agendados do windows.

    • Marcado como Resposta Richard Juhasz terça-feira, 3 de janeiro de 2012 18:00
    quinta-feira, 26 de junho de 2008 11:44
    Moderador

Todas as Respostas

  • Olá rescaroli ,

    Voce ja tentou definir esta opcao (Remove files older than:) para 0 dias ou entao 1 hora?

    Qualquer duvida, retorne.

    Abs.

    quinta-feira, 22 de fevereiro de 2007 13:15
  • Olá Cristiano,

    Não consigo cetar essa opção para menos de 1 dia.

    Tenho 1 Servidor com  sql server 2000, nesse tem a opção por hora ou 0 dias, mas no 2005 não tem.

    Talvez eu esteja configurando no lugar errado.

    Configurei a limpeza dos backups antigos na guia Maintenance Cleanup Task  na opção Delete files based on the age of the file at task run time.

     

    Obrigado;

    Douglas Rescaroli

    quinta-feira, 22 de fevereiro de 2007 18:24
  • Douglas,

    Na guia Backup Database Task, item Destination, voce pode selecionar "Create a backup file for every database" ou "Backup databases across one or more files". A segunda opcao sempre vai gerar o backup em um arquivo com o mesmo nome e se voce selecionar Overwrite em "If backup file exists" o arquivo sempre sera sobrescrito. O unico inconveniente disso é que voce precisará de um maintenance plan para cada banco.

    Outra alternativa seria criar um vbscript para excluir os arquivos antigos e configurar um job para rodar ele. Ai voce pode executar este job do MaintenancePlan. Um exemplo seria o seguinte:

    Dim fso, fldr, x

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fldr = fso.GetFolder("C:\Backup\")
    For each x in fldr.Files
     If datediff("h", x.DateLastModified, now()) > 1 and right(x.Path,4) = ".BAK" then
      fso.DeleteFile x.Path
     End If
    Next

    Este exemplo exclui arquivos com a extensao .BAK cuja ultima alteracao ocorreu a mais de 1 hora. Voce poderia tambem criar um TSQL task para executar este Vbscript.

    Qualquer duvida retorne.

    Abs

     

    quinta-feira, 22 de fevereiro de 2007 20:10
  • Olá Cristiano,

     

    Acho que a ideia desse script é muito porreira, é pena eu não conseguir colocar a funcionar, dá-me o seguinte erro:

     

    Create failed for JobStep 'Elimina Ficheiros Antigos'.  (Microsoft.SqlServer.Smo)

    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

    The command script does not destroy all the objects that it creates. Revise the command script. (Microsoft SQL Server, Error: 14277)

     

    domingo, 6 de maio de 2007 17:35
  •  

    Pessoal, sou novo em SQL2005 ( e conheço pouco o 2000) e preciso de uma ajuda...

     

    Como faço para schedular um backup no SQL Express 2005? Na verdade não sei nem se isso é possível

     

    Eu sei no SQL 2000, mas nos express da vida não faço nem idéia...

     

    Valeu Gente...

     

     

    quinta-feira, 26 de junho de 2008 11:40
  • Raoni,

     

    O Agendamento de tarefas no SQL Server é conhecido como Jobs, sendo que cada job poderá executar mais uma tarefa ao mesmo tempo.

     

    Toda e qualquer tarefa executada no SQL Server, esta relacionada com o serviço SQL Agent, sendo este serviço responsável por gerenciar os Jobs.

     

    Agora, qual edição do SQL Server 2005 você esta utilizando, pois edição Express não possui o SQL Agent, desta forma, o agendamento de tarefas deverá ser realizar através de arquivos .sql em conjunto com as tarefas agendados do windows.

    • Marcado como Resposta Richard Juhasz terça-feira, 3 de janeiro de 2012 18:00
    quinta-feira, 26 de junho de 2008 11:44
    Moderador
  • Ah, tá....

     

    Eu uso o SQL Express 2005...

     

    Se querer abusar já abusando, teria algum script de backup que pudesse me passar para tal tarefa?

     

    Abraços

     

    Raoni

     

    quinta-feira, 26 de junho de 2008 11:46
  • Raoni,

     

    No Books On-Line do SQL Server, você poderá encontrar diversos exemplos e formas de utilização do comando Backup Database, Backup Log.

    quinta-feira, 26 de junho de 2008 11:50
    Moderador
  • Valeu !!!
    quinta-feira, 26 de junho de 2008 11:54
  • Raoni me da uma ajudinha»????????



    eu tenho sql server 2005 todo funcional mais de um momento a outro los backup dam erro cuando tento executarlos,  e eu tou um poco fora da materia





    Yudy




    yudelkys406@hotmail.com
    sábado, 16 de maio de 2009 06:17
  • Ola Yudi

    Qual a é a mensagem de erro?

    att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    sábado, 16 de maio de 2009 16:00
    Moderador