Fazendo backup no SQL Server Express

Fazendo backup no SQL Server Express

Olá,

Sei que em muitos lugares da NET você encontra scripts de backup para o SQL Server Express, porém eu resolvi colocar um que utilizo e funciona muito bem.

Vamos criar um arquivo chamado backup.sql

declare @nome varchar(150)
declare @temp varchar(100)
select @temp = CONVERT(VARCHAR(12),GETDATE(),112)+ CONVERT(VARCHAR(2), DATEPART(HOUR, GETDATE()))+ CONVERT(VARCHAR(2),DATEPART(MINUTE, GETDATE()))
select @nome='\\192.168.0.154\Rede\backup\bkp'+@temp+'.bak'
BACKUP DATABASE SEU_BANCO_DE_DADOS TO DISK=@nome;

O legal deste script, que como podem ver, está preparado para fazer o backup em outra parte da rede … observem que o nome do arquivo é a data e a hora. O que realmente faz o backup é a última linha.

Agora é só criar um novo arquivo, chamado backup.bat e colocar o seguinte conteúdo:

@echo ****** BACKUP  ******** >>log.txt
@echo Inicio >> log.txt
@date /t >>log.txt
@time /t >>log.txt
OSQL -S SERVIDOR\INSTANCIA -U sa -P senha -i "backup.sql" >>log.txt
@date /t >>log.txt
@time /t >>log.txt
@echo **** FIM BACKUP  **** >> log.txt

Bom, acho que não precisa de muita explicação, mas os dois arquivos precisam, neste exemplo, estarem no mesmo diretorio, altere as configurações de SERVIDOR\INSTANCIA e do seu -P para sua senha.

Para automatiza este backup, já que o SQL Express não possui JOBs, use o agendador de tarefas do Windows e agende o backup.bat de acordo com sua necessidade!

Bom, por hora é isto.

Sobre o Autor

Daniel Carvalho é um entusiasta da tecnologia, especialista em TI e MBA em Gerência de Projetos. É atualmente sócio-consultor da Ethos Consultores Ltda em Minas Gerais.