it-mure.jp.net

フォルダにSQLバックアップファイルを作成するときにどのように圧縮できますか?

私は SQL Server Express を使用し、Time Schedulingスクリプトを使用してすべてのデータベースのバックアップファイルを毎日作成しています。そのような1つのスクリプト。

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

そして、彼らは私の.bakフォルダーに3つのC:/backup(バックアップ)ファイルを作成しました。

私が欲しいのは、これらの.bakファイルを作成するときに、それらも自動的に圧縮したいということです(おそらく、WinrarWinzip7Zip、またはSQL Express Serverプロパティで使用します)

私がそれをすることができる方法はありますか?

3
Soner Gönül

または、バッチスクリプトを使用することもできます。

これは例です。少し調整する必要があります。この例では、無料の7Zipを使用しています。

@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 Server\100\Tools\Binn\SQLCMD.EXE" -S 
(local)\SQLExpress -i D:\dbbackups\bk_%SQLExpressBackups.sql

echo Zipping ...

"C:\Program Files\7-Zip\7z.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!

または、バックアップフォラーを圧縮するだけの場合は、バックアップが完了した後、次の手順を実行できます。

@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\7-Zip\7z.exe" a -tzip "C:\dbbackups\zipped\bk_%backuptime%.Zip" "C:\Backup\Jira.bak"

echo Done!

これをsqlbackup.batとして保存し、毎日実行するようにスケジュールします。

2
slotishtype