Backup do SQL Server Express no Servidor Datalog
1. Em cada banco de dados deve haver duas stored procedures, sendo que uma irá efetuar o backup completo do banco de dados uma vez por dia, e outra o backup diferencial, várias vezes por dia.
1a. Stored procedure para backup completo do banco de dados:
CREATE PROCEDURE BackupDb
AS
BACKUP DATABASE <nome_banco> to disk = '<pasta_backup><nome_arquivo>' WITH INIT
GO
Exemplo:
CREATE PROCEDURE BackupDb
AS
BACKUP DATABASE adv to disk = 'c:\users\administrator\dropbox\adv_db.bak' WITH
INIT
GO
1b. Stored procedure para backup diferencial do banco de dados:
CREATE PROCEDURE BackupDif
AS
BACKUP DATABASE <nome_banco> to disk = '<pasta_backup><nome_arquivo>' WITH
DIFFERENTIAL, INIT
GO
Exemplo:
CREATE PROCEDURE BackupDif
AS
BACKUP DATABASE adv to disk = 'c:\users\administrator\dropbox\adv_dif.bak' WITH
DIFFERENTIAL, INIT
GO
2. Para a execução automática dos backups, deverão ser criadas tarefas agendadas no Windows.
Exemplo com Windows Server 2008:
No Task Scheduler, criar uma pasta:
Action/New Folder - informe o nome da pasta.
Nesta pasta serão criadas duas tarefas, sendo uma para o backup completo e outra para o backup diferencial.
Backup Completo:
Sobre a pasta, clicar o botão direito do mouse e selecionar Create Task.
Digite o nome da tarefa (por exemplo Backup Completo do Banco de Dados Datalog) e Next
Marque as opções Run wheter user is logged on or not e Run with highest privileges.
Selecione Triggers, New
Selecione Daily e informe o horário da execução e Ok.
Selecione Actions e New.
Em Program/Script, digite SQLCMD, e em Add arguments (optional), digite o seguinte comando:
-S <instancia do sql server) -d <nome do banco de dados) -E -Q "<nome da stored procedure>"
Exemplo
-S .\sql2008r2 -d datalog -E -Q "BackupDB"
Backup Diferencial:
Sobre a pasta, clicar o botão direito do mouse e selecionar Create Task.
Digite o nome da tarefa (por exemplo Backup Diferencial do Banco de Dados Datalog) e Next
Marque as opções Run wheter user is logged on or not e Run with highest privileges.
Selecione Triggers, New
Selecione Daily e informe o horário de início da execução.
Marque Repeat at every e selecione o tempo de repetição da execução da tarefa.
Selecione Actions e New.
Em Program/Script, digite SQLCMD, e em Add arguments (optional), digite o seguinte comando:
-S <instancia do sql server) -d <nome do banco de dados) -E -Q "<nome da stored procedure>"
Exemplo
-S .\sql2008r2 -d datalog -E -Q "BackupDif"
3. Após a criação das tarefas, clique o botão direito do mouse sobre o nome da tarefa, e selecione Run. Verifique se o arquivo de backup foi criado na pasta de destino.