Como criar um backup automático do SQL Server

Olá pessoal…

Hoje vou mostrar como fazer um backup automaticamente do SQL Server.

Primeiramente jovens, recomendo que leiam Como agendar um processo no SQL Server.

Agora, no SQL Server ao criar um novo agendamento de processo conforme explico no link anterior, é na parte da Etapa que você deve informar os comandos necessários para se fazer o backup, no outro exemplo eu mostro como agendar uma procedure, conforme imagem abaixo.

Definições da etapa

Definições da etapa

Para fazer um backup do banco, o comando utilizado seria:

BACKUP DATABASE [Sua Database] TO  DISK = '[Seu Diretório]' WITH FORMAT 

Por exemplo, supondo que minha database se chame dbDaniel, e o diretório que eu quero gerar o arquivo seja D:\Backups\dbDaniel.bak, o comando ficaria assim:

BACKUP DATABASE dbDaniel TO  DISK = 'D:\Backups\dbDaniel.bak' WITH FORMAT 

Só com isso, já será gerado automaticamente o backup da sua database.

Resumindo, para criar a tarefa (conforme expliquei no outro link):
– Vá em SQL Server Agent, clique com o botão direito em Trabalhos e clique em Novo Trabalho.
– Coloque um nome para o trabalho.
– Clique em Etapas no lado esquerdo, clique em nova etapa.
– Escolha o banco de dados, e cole o comando para backup (que mostrei aqui em cima nessa postagem), confirme.
– Clique agora em Agendas no lado esquerdo, clique em nova agenda.
– Define os detalhes do agendamento, como frequência, horário, etc.

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

4 Responses

  1. Michelle disse:

    Tem alguma maneira de salvar os backups por pasta automaticamente? Faço os backups todos os dias e os separo manualmente, sendo que ele fica desorganizados (todos os dias juntos, tenho que criar pastas manualmente dos dias). Existe algum batch automático que faça isso?

    • Dan_Atilio disse:

      Acho que você teria que mesclar com uma lógica de Batch para ser executada via MS-DOS, crie um arquivo bat e teste, abaixo seria um exemplo (não testei, montei rapidinho aqui):

      set _Data=%date:~6,4%-%date:~3,2%-%date:~0,2% 
      sqlcmd -U {usuário como sa} -S {instância, como por exemplo, localhost\SQLEXPRESS} -Q "BACKUP DATABASE {Sua Database} TO  DISK = 'D:\Sua Pasta\%_Data%\{Nome do Arquivo}.bak' WITH FORMAT "
      

      Note que primeiro eu pego a data, e em seguida eu chamo a rotina de backup apontando para a pasta.
      Substitua o que está entre chaves.
      Abraços.

  2. Tulio Meireles disse:

    Tem algum um Script de Procedure ou Trigger para fazer o BKP de uma base de dados diariamente as 00:00h no SQL Server?

Deixe uma resposta