近期遇到定时任务中清理数据库过期文件失效的问题,总结了下删除过期数据库备份文件的相关方法,总结如下:
1.BAT脚本法
脚本DEMO(删除两天前的数据):
FORFILES /P “E:\Backup” /M *.bak /C “cmd /C del /Q @path” /d -2
说明:
FORFILES /P “文件路径” /M 文件名(通配符) /C “cmd /C del /Q @path” /d -几天前的数据
优点:不仅能删除bat文件,其他windows下的过期文件也可以一并清理。
缺点:权限过大,可能误删文件
2.xp_delete_file
脚本demo:
DECLARE @oldDate DATETIME
SET @oldDate = GETDATE()-7 --删除7天前数据
EXECUTE MASTER.dbo.xp_delete_file
0, --0: 备份文件,