Para executarmos o backup de um banco de dados no SQL Server, podemos criar uma query assim:
BACKUP DATABASE @NomeBanco TO DISK = @DiretorioENomeArquivo WITH NOFORMAT, NOINIT, NAME = @NomeBackup, SKIP, NOREWIND, NOUNLOAD, STATS = 10;
Antes então, temos que informar algumas variáveis para o SQL Server, com os nomes e diretórios, sendo assim, ficariamos com uma query assim:
DECLARE @NomeBanco AS varchar(255);
SET @NomeBanco = ‘BaseDadosCliente’;
DECLARE @DiretorioENomeArquivo AS varchar(255);
SET @DiretorioENomeArquivo = 'C:\Backup\BancoDadosCliente ' + replace(getdate(), ':', '-') + '.bak';
DECLARE @NomeBackup AS varchar(255);
SET @NomeBackup= ‘BaseDadosCliente Full Backup’;
BACKUP DATABASE @NomeBanco TO DISK = @DiretorioENomeArquivo WITH NOFORMAT, NOINIT, NAME = @NomeBackup, SKIP, NOREWIND, NOUNLOAD, STATS = 10;
Podemos executar uma query no prompt de comando chamando o executavel do SQL Server, passando o parametro “Q” com a query.Vamos alinhar um comando para tal:
sqlcmd.exe -Q "DECLARE @NomeBanco AS varchar(255); SET @NomeBanco = ‘BaseDadosCliente’; DECLARE @DiretorioENomeArquivo AS varchar(255); SET @DiretorioENomeArquivo = 'C:\Backup\BancoDadosCliente ' + replace(getdate(), ':', '-') + '.bak'; DECLARE @NomeBackup AS varchar(255); SET @NomeBackup= ‘BaseDadosCliente Full Backup’; BACKUP DATABASE @NomeBanco TO DISK = @DiretorioENomeArquivo WITH NOFORMAT, NOINIT, NAME = @NomeBackup, SKIP, NOREWIND, NOUNLOAD, STATS = 10;”
Já que temos uma linha de comando para efetuarmos backup, que tal agendar-mos no windows para executar esta linha toda noite?
Localize o agendador de tarefas
Clique em Create Basic Task
Após informar nossa linha de comando, o Wizard perguntará se vc deseja executar co sqlcmd.exe com os argumentos, clique em Yes.
Pronto, temos um backup automatizado e agendado!
:)
0 comentários:
Postar um comentário