Uma das desvantagens das versões Express do SQL Server é não ter o SQL Agent, que te permite agendar backups e outras tarefas administrativas nos seus bancos de dados.
No caso do backup, você pode facilmente automatizar usando o agendador de tarefas e um arquivo .bat com os comandos abaixo, que já inclui a compactação usando 7-Zip:
sqlcmd.exe -S (local)\SQLExpress -Q "BACKUP DATABASE MeuBanco TO DISK='d:\backup\meubanco.bak' WITH FORMAT"
"c:\program files\7-zip\7z.exe" a d:\backup\meubanco.7z d:\backup\meubanco.bak
É uma dica simples, mas que pode ser usada como ponto de partida para um script mais avançado e que atenda outras necessidades. Afinal, todo mundo precisa agendar backups de uma forma ou de outra.
E não esqueça de manter o backup bem longe do servidor.

TPodcast
11 Comments
Erick, gostei muito da dica. Inclusive publiquei no blog privativo da empresa em que trabalho.
@Alex Dundes Bom saber Alex, já estava achando que não tinha ajudado ninguém com a dica.
ajudou mto mesmo pra mim… eu fazia uma volta gigantesta para efetuar o backup via linha de comado!! mto obrigado!
Erick, é necessario ja existir algum backup shedulado no sql,ou baseado no que esta sendo proposto ja funciona?
@hilson silva só esse comando já faz o backup, não precisa ter mais nada.
Erick muito bom, simples e útil seu post. Parabéns! Só uma pergunta… na verdade duas.
1º Se colocar pra rodar o bkp semanalmente ele subscreve o anterior? (se sim é isso que quero mesmo)
2º Precisa para o serviço do SQL pra fazer esse bkp ou é on line mesmo?
3º Têm como fazer bkp de mais de uma base no mesmo script? Seria como? Assim?
sqlcmd.exe -S (local)SQLExpress -Q “BACKUP DATABASE MeuBanco1 TO DISK=’d:backupmeubanco1.bak’ WITH FORMAT”
-Q “BACKUP DATABASE MeuBanco2 TO DISK=’d:backupmeubanco2.bak’ WITH FORMAT”
-Q “BACKUP DATABASE MeuBanco3 TO DISK=’d:backupmeubanco3.bak’ WITH FORMAT”
Muito Obrigado!
Vinicius
1) Sim.
2) Não precisa parar, pode ser inclusive com os usuários conectados.
3) Tranquilo, uma das formas é repetir a linha inteira dentro de um arquivo .bat, trocando apenas o banco como você já fez.
Cara muito bom, aqui tava dando uns erros mas eu consegui corrigir.
abraço
Cara, muito bom mesmo!
Agora posso perguntar, ja perguntando? Para que serve o WITH FORMAT?
É obrigatório ?
Obrigado mais uma vez!!!!
Roberto
Cara ta dando uns erros aqui !
Um deles é informando que o SQL nao esta configurado para receber conexoes remotas …
O que seria isso ?
Pingback: Backup do Sql Express - PunkSp! | PunkSp!