Backup Automatizado nos SQL Server Express
Ambiente
A informação contida neste artigo aplica-se a:
Summary
Quando um cliente utiliza o SQL Server na versão Express, o mesmo não inclui o executor de JOBS
onde é possível criar rotinas de backup automatizadas, porém há um método para contornar esta limitação
que será descrito neste artigo.
Question
Como efetuar backup automático no SQL Server Express?
Answer
Através de procedimentos armazenados, Batch Files (*.bat) e o Agendador de tarefas no Windows.
Solution
* Incluir a procedure abaixo no banco de dados master.
create procedure prc_backup (
@DataBaseName varchar(30),
@BackupDir varchar(200)
)
as
begin
SET NOCOUNT ON;
declare @StrDateTime varchar(15);
set @StrDateTime = CONVERT(nvarchar, GETDATE(), 112) + '' + replace(CONVERT(VARCHAR(8), GETDATE(), 108),':','');
declare @FileName varchar(500);
set @FileName = @BackupDir + '' + @DataBaseName + '_' + @StrDateTime + '.bak';
BACKUP DATABASE @DataBaseName TO DISK = @FileName WITH NOFORMAT, NOINIT, NAME = @DataBaseName, SKIP, NOREWIND, NOUNLOAD, STATS = 10;
end;
* Crie um usuário que tenha a permissão de acesso e de backup no banco de dados.
* De ao usuário criado a permissão de executar o procedimento "prc_backup".
* Crie um arquivo batch (*.bat) no bloco de notas com o seguinte comando:
@sqlcmd -U USUARIO -P SENHA -S SERVIDOR -Q "Exec prc_backup 'BANCO', 'DIR_BACKUP'"
***Instruções***
-U (usuário, criar um usuário para backup)
-P (senha do usuário do banco)
-S (IP Servidor)
-Q (Comando SQL que executa o backup)
Exec prc_backup BANCO, DIR_BACKUP
BANCO = Nome do banco de dados
DIR_BACKUP = Diretório para gravar o arquivo de backup (Diretório físico no servidor)
* Após criar o batch e verificar que o mesmo esta efetuando backups corretamento, execute o Agendador de Tarefas do Windows e crie uma tarefa que automatize a execução do backup
Artigo
KB0003 Publicado 28th Mar 2016
Palavras-Chave: backup automático automatizado sql server express tarefas windows batch bat
THE INFORMATION IN THIS DOCUMENT IS PROVIDED ON AN AS-IS BASIS WITHOUT WARRANTY OF ANY KIND. PROVIDER SPECIFICALLY DISCLAIMS ANY OTHER WARRANTY, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL PROVIDER BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, SPECIAL OR INCIDENTAL DAMAGES, EVEN IF PROVIDER HAS BEEN ADVISED BY USER OF THE POSSIBILITY OF SUCH POTENTIAL LOSS OR DAMAGE. USER AGREES TO HOLD PROVIDER HARMLESS FROM AND AGAINST ANY AND ALL CLAIMS, LOSSES, LIABILITIES AND EXPENSES.