在项目上线后,为了保障客户数据安全,给数据库服务器里的每一个数据库做了一个自动备份,每天会产生一个新的备份文件,放在备份文件夹里,并且文件夹里创建了以各数据库位名的子文件夹,备份文件就放在这个文件夹里,时间长了后发现服务器的空间不够了,原来有个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开启