在项目上线后,为了保障客户数据安全,给数据库服务器里的每一个数据库做了一个自动备份,每天会产生一个新的备份文件,放在备份文件夹里,并且文件夹里创建了以各数据库位名的子文件夹,备份文件就放在这个文件夹里,时间长了后发现服务器的空间不够了,原来有个oa的数据库特别大,有4G左右,这样每天会消耗掉4G左右的空间,所以必须每天将以前备份的文件删掉,折腾了半天,终于把这条语句弄出来了:

exec xp_cmdshell 'forfiles /p c:backup /s /m *.bak /d -30 /c "cmd /c del /q /f @file"'

/d -30 表示30天前的文件,

/s 表示递归子文件夹搜索

*.bak表示查询所有以bak结束的文件名

c:backup表示搜索的根目录是c:\backup

 

注意需要将sql server外围配置器里的xp_cmdshell开启

posted on 2010-11-01 16:04  袁晓平  阅读(321)  评论(0编辑  收藏  举报