Como posso compactar quando eu crio o arquivo de backup do SQL em uma pasta?

3

Eu uso SQL Server Express e crio arquivos de backup para todos os bancos de dados todos os dias usando o script Time Scheduling . Um roteiro como esse;

BACKUP DATABASE [Jira]
TO DISK = N'C:\Backup\Jira.bak'
WITH COMPRESSION,INIT
GO

E eles fizeram um arquivo de 3 .bak (backup) na minha pasta C:/backup .

O que eu quero é, quando eu crio esses arquivos .bak , eu também quero compactá-los automaticamente (talvez usando com Winrar , Winzip , 7zip ou SQL Express Server propriedades)

Existe alguma maneira que eu possa fazer isso?

    
por Soner Gönül 19.07.2011 / 09:47

1 resposta

2

Você pode alternativamente usar um script em lote.

Aqui está um exemplo, ele precisará ser ajustado um pouco. Neste exemplo, uso o 7zip, que é gratuito.

@echo off

CLS

SET backuptime=%DATE:~10,4%-%DATE:~7,2%-%DATE:~4,2%-%TIME:~0,2%-%TIME:~3,2%

echo %backuptime%

echo Running dump ...

"C:\Program Files\Microsoft SQL Server0\Tools\Binn\SQLCMD.EXE" -S 
(local)\SQLExpress -i D:\dbbackups\bk_%SQLExpressBackups.sql

echo Zipping ...

"C:\Program Files-Zipz.exe" a -tzip "D:\dbbackups\zipped\bk_%backuptime%.zip" "D:\dbbackups\bk_%SQLExpressBackups.sql"

echo Deleting the SQL file ...

del "D:\dbbackups\bk_%SQLExpressBackups.sql"

echo Done!

Ou se você quiser apenas fechar o dispositivo de backup, após o backup, você pode fazer o seguinte:

@echo off

CLS

SET backuptime=%DATE:~10,4%-%DATE:~7,2%-%DATE:~4,2%-%TIME:~0,2%-%TIME:~3,2%

echo %backuptime%

echo Zipping ...

"C:\Program Files-Zipz.exe" a -tzip "C:\dbbackups\zipped\bk_%backuptime%.zip" "C:\Backup\Jira.bak"

echo Done!

Salve isso como sqlbackup.bat e agende-o para ser executado todos os dias.

    
por 19.07.2011 / 11:51