码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer自动备份、自动压缩、自动删除旧备份

时间:2015-06-15 20:32:59      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:自动备份

准备工具:
SqlServer2008
WinRar

1.给SqlServer设置维护计划定时备份
这个操作比较简单,按向导新增维护计划即可。
技术分享

2.自动压缩脚本

c:\Progra~2\WinRar\winRar.exe a D:\bak\database_buckup_%date:~0,4%_%date:~5,2%_%date:~8,2% d:\bak\database_*%date:~0,4%_%date:~5,2%_%date:~8,2%_*.bak 

备份文件的格式是:database_backup_2015_05_15_010001_5555338.bak,
压缩文件格式是:data_2015_06_15.rar这种样式。

3.自动删除旧的备份
设置一个计划任务,在压缩前把老的备份删除。这里通过bat脚本调用vbs脚本,因为vbs脚本相对好写一点。

autoDeleteOld.bat

cscript d:/bak/autoDeleteOldBak.vbs

autoDeleteOldBak.vbs

const reMainCount = 1           ‘保留几day

Dim fso,dc,file,files,folder,subfolders,subfolder
set fso=createobject("Scripting.FileSystemObject")
set folder=fso.getfolder("D:\bak")
Dim today
today=Now
for each tempFile in folder.files
    dim arr
    arr=Split( tempFile,"_backup_")
    if UBound(arr)>0 then
        dim tempDate,diff
        tempDate=Cdate( Replace( Left(arr(1),10),"_","-"))
        diff= DateDiff("d",tempDate,today)
        if (diff>reMainCount) then
            fso.deleteFile(tempFile),true
        end if
    end if
next
set fso=nothing

如果另外有ftp服务器,可以压缩文件后,远程同步到另一台服务器上。

SqlServer自动备份、自动压缩、自动删除旧备份

标签:自动备份

原文地址:http://blog.csdn.net/xundh/article/details/46506863

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!