有没有一个很好的方法让SQL Server 2005运行夜间备份,只有最后n个备份被自动压缩?
我知道代理可以执行夜间备份,但我认为这个问题的棘手部分是压缩和删除非常旧的备份
干杯!
在SQL备份之后,我们运行另一个任务来运行batch file来压缩文件并将其复制到NAS上。 我们保留最后的3个备份 – 基本脚本看起来像这样:
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_backup\2DaysAgo\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
(我编辑脚本只显示1个数据库)。 在脚本的最后,我们调用一个Python脚本来发送一个电子邮件,告诉我们备份文件的大小和创builddate。 您可以轻松地使用WSH脚本。 我认为可能已经添加了“if errorlevel …”指令,因为SQL代理并不总是检测batch file是否完成?
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
我们的服务器之一使用winrar而不是zip压缩文件(它有一个命令提示符)。 一个月前,一个月的备份被复制到一个保存了六个月的档案中,但是您可以轻松创build另一个batch file,每周运行一次,以维护上个星期天,2个星期前和3个星期前的备份。
我写了automssqlbackup创build备份,旋转,拉链和发送电子邮件。 Powershell和免费。
有一个软件: SqlBackupAndFTP 。 有一个免费的和“高级”版本。
免费版本包括“计划备份,邮编”选项。 以下是对SQL Authority.com博客的评论,同时也介绍了如何使用该工具。
或者,您可以从SQL Server扩展存储过程xp_cmdshell中调用命令行zip(winzip / wzzip )。 您可以使用robocopy生成的文件到一个安全的地方。