SQL 2005自动备份与自动删除备份文件
新版的数据库维护计划请使用软件自带的清除功能
操作:
维护计划-新增 “清除维护”任务- 扩展名称输入"bak"(注意不带“.”的),目录按实际选择,包括子文件夹 ,时间按需设置
以下的内容不建议使用
1
点击"SQL Server 外围应用配置器", 打开"功能的外围应用配置器"在里面启用xp_cmdshell,重启SQL服务,使其生效
2
在windows目录下的system32目录里新建"del_oldfiles.vbs" 内容如下:
strDrive = left(WScript.Arguments(0), 2) strPath = replace(right(WScript.Arguments(0), len(WScript.Arguments(0))-2),"\","\\") & "\\" strExtension = WScript.Arguments(1) intDays = WScript.Arguments(2) Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") Set objConvertedDate = CreateObject("WbemScripting.SWbemDateTime") Set colFiles = objWMIService.ExecQuery("select * from CIM_DataFile where drive='" &_ strDrive & "' and path='" & strPath & "'") For Each objFile in colFiles objConvertedDate.Value = objFile.CreationDate dtCreationDate = objConvertedDate.GetVarDate(LOCAL_TIME) If DateAdd("d", intDays, dtCreationDate) < Now and objFile.Extension = strExtension Then ' Wscript.Echo objFile.Name & ", " & DateDiff("d", dtCreationDate, Now) objFile.delete() End If Next
3
在维护计划里新建"备份数据库",跟正常的应用开发拉控件一样,不在此说明!设置好
4
在SQL server 代理内新建作业"删除备份文件"其步骤内容如下:(代码内的F:\backup替换成自己计划维护设定的目录)
exec xp_cmdshell 'cscript.exe del_oldfiles.vbs F:\backup bak 3'
此方法取于http://bbs.csdn.net/topics/340135388 xman_78tom
用法:del_oldfiles.vbs fullpath ext days
fullpath -- 文件所在的完全路径;ext -- 文件的扩展名;days -- 早于多少天
在 SQL Server 中,可以通过 exec xp_cmdshell 'cscript.exe del_oldfiles.vbs d:\backup rar 3' 调用。
5
然后在维护计划内加入"执行SQL server代理作业"任务!

浙公网安备 33010602011771号