Automaticamente zipar / gerenciar backups do SQL Server 2005

3

Existe uma boa maneira de fazer com que o SQL Server 2005 execute backups noturnos que são automaticamente compactados com apenas os últimos n backups mantidos?

Eu sei que o agente pode executar backups noturnos, mas acho que a parte complicada dessa questão seria o fechamento e a remoção de backups muito antigos

Felicidades!

    
por keith 27.05.2009 / 09:30

3 respostas

3

Após o backup do SQL, executamos outra tarefa para executar um arquivo em lote para compactar os arquivos e copiá-los em um NAS. Nós mantemos os últimos 3 backups - o script básico é parecido com:

d:
cd \MSSQL\BACKUP
zip -rq d:\northwind northwind.BAK
REM - do the local copy to the NAS
move/y \10.0.0.1\sql_backup\yesterday\northwind.zip \10.0.0.1\sql_backupDaysAgo\northwind.zip
move/y \10.0.0.1\sql_backup\northwind.zip \10.0.0.1\sql_backup\yesterday\northwind.zip
copy northwind.zip \10.0.0.1\sql_backup\northwind.zip

(Eu editei o script para mostrar apenas 1 banco de dados). No final do script, chamamos um script Python para enviar um email que nos informa o tamanho dos arquivos de backup e a data em que foram criados. Você poderia facilmente usar um script do WSH. Eu acho que a instrução "if errorlevel ..." pode ter sido adicionada porque o agente SQL nem sempre detecta se o arquivo em lote foi concluído ou não?

if errorlevel 1 goto weakspace
d:\scripts\send_email_nas_copy_success.py
goto end
weakspace:
REM - error occured
d:\scripts\send_email_nas_copy_fail.py
end:
exit

Um de nossos servidores usa o winrar em vez do zip para compactar os arquivos (ele tem um prompt de comando). Uma vez por mês, os backups da noite passada são copiados para um arquivo mantido por seis meses, mas você pode facilmente criar outro arquivo de lote para ser executado uma vez por semana para manter backups do último domingo, 2 de domingo e 3 de domingo.

    
por 27.05.2009 / 10:08
2

Eu escrevi automssqlbackup que cria backups, gira, fecha e envia e-mails. Powershell e livre.

    
por 31.05.2009 / 08:43
1

Existe um software: SqlBackupAndFTP . Existe uma versão gratuita e uma versão "Premium".

A versão gratuita inclui a opção "Schedule Backup, Zip". Aqui está um comentário sobre um Blog do SQL Authority.com , que também explica como usar a ferramenta.

Como alternativa, você pode chamar um zip de linha de comando (winzip / wzzip ) do procedimento armazenado estendido do SQL Server xp_cmdshell . Você poderia usar robocopy os arquivos resultantes em um local seguro.

    
por 27.05.2009 / 09:42