Precisei automatizar minhas rotinas de backup de uma instancia do SQL SERVER Express, para foi necessário gerar um script de SQL e outro BAT para agendar execução do windows.
Isso porque o Express (não possui) o SQL Server Agent, existe algumas alternativas conforme estes links (link1, link2), mas preferi utilizar o agendamento do windows.
Primeiro deve ser criar o arquivo .sql
-- Variáveis utilizadas para gerar backup.
DECLARE @destino VARCHAR(50), @banco VARCHAR(50)
-- O select abaixo pega qual banco iremos realizar o backup,
--caso exista mais de um em nossa instância.
SELECT @banco = NAME FROM SYS.DATABASES WHERE NAME = 'nome_banco';
-- Informamos o destino onde será salvo nosso backup e qual nome o mesmo será salvo.
SET @destino = 'G:\Google Drive\BKP_BANCO\' + @banco + REPLACE(CONVERT(VARCHAR(10), GETDATE(), 3), '/', '') + REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ':','') + '.BAK';
-- Comando para realizar o backup.
BACKUP DATABASE @banco
-- Salvar no disco.
TO DISK = @destino
Não esqueça de alterar as aspas simples
No meu caso mando gerar dentro do diretório do google drive.
Salve este arquivo .sql, sugestão nomebanco.sql, lembrando que este script é para um banco dados repita o sql trocando o nome do banco ou crie outro script para mais banco
No meu caso mando gerar dentro do diretório do google drive.
Salve este arquivo .sql, sugestão nomebanco.sql, lembrando que este script é para um banco dados repita o sql trocando o nome do banco ou crie outro script para mais banco
sqlcmd -S SERVIDOR\INSTANCIA -U sa -P senha.12345 -i
"D:nomebanco.sql"
Agora salve este arquivo .bat e agenda nas tarefas do windows. (Fica dentro de ferramentas administrativas)
Fonte: http://t-sql.com.br/backup-sql-server-express/