sql-server – 自动压缩/管理SQL Server 2005备份

是否有一种很好的方法sql Server 2005运行夜间备份,自动压缩只保留最后n个备份?

我知道代理可以执行夜间备份,但我认为这个问题的棘手部分是压缩和删除非常旧的备份

干杯!

解决方法

sql备份之后,我们运行另一个任务来运行批处理文件以压缩文件并将它们复制到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脚本发送一封电子邮件,告诉我们备份文件的大小和创建日期.您可以轻松使用WSH脚本.我认为可能添加了“if errorlevel …”指令,因为sql代理并不总是检测批处理文件是否完成?

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来压缩文件(它有一个命令提示符).昨晚一个月的备份被复制到一个保存六个月的存档中,但您可以轻松创建另一个批处理文件,每周运行一次,以维护上周日,2个星期日和3个星期日之前的备份.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...