使用FORFILES命令来删除SQL Server备份

滴血汉子

滴血汉子

2016-02-19 16:03

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享使用FORFILES命令来删除SQL Server备份吧。

  专家解答

  虽然有很多种方式可以解决这个问题,但是我们可以用T-SQL代码来处理这个文件删除过程。我用xp_cmdshell命令和FORFILES命令来处理类似于你所列出的过程。可以从Microsoft TechNet中获得FORFILES的可靠信息,但是在这篇文章中,我将涉及FORFILES大量的结构和使用方法来达到你的目的。

  该FORFILES命令将选取文件的一个子集并且针对这个子集执行一个命令。这个命令需要下面的参数和接受下面的变量。

  参数

参数名 描述
/p 路径
/m 检索屏蔽 (默认情况下是 *.*)
/s 如果包含这个参数,那么子目录将会被递归地检索。
/c command 针对结果集中的每一个文件执行命令,命令必须包含在双引号中,默认情况是"cmd c/ echo @file"
/d 针对文件选择的日期范围,把最新的更改日期当作文件标准。当/d参数是MM/DD/YYYY格式时,满足指定的+/-日期标准的文件也包含在内。当文件格式是smallint (-32,768 - 32,768)文件+/-文件并且带着一个更改日期+/-时,从当前日期到该日期的时间数目将会包含在这个文件结果集中。

  变量

变量名 描述
@FILE 文件名
@FNAME 无扩展的文件名
@EXT 文件扩展名
@PATH 文件绝对路经
@RELPATH 文件的相对路径
@ISDIR 如果文件类型是一个目录,那么判断是否是TRUE
@FSIZE 文件大小(用字节衡量)
@FDATE 文件上的最新更改日期邮戳
@FTIME 文件上的最新更改时间邮戳

  利用这些参数可以构造下面的例子来解决你删除备份脚本文件的难题。你可以基于更改时间/日期或者备份类型来创建脚本。你甚至可以构造能够同时参照两种标准的脚本。

  我们将仔细看看这些可能的脚本。记住,你将从T-SQL代码内部执行这个过程,所以你需要在一个xp_cmdshell访问中以EXEC xp_cmdshell 'FORFILES COMMAND'的格式总结这些语句。请注意,在所有的例子中我都会使用/Q 和 /F标签来作为删除命令。这意味着这个命令将使用安静模式(/Q)甚至删除只能读的文件(/F)。

  例子

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  当文件更改日期晚于10/18/2008时,删除所有C:Backup目录和它子目录下的.sql文件。

  EXEC xp_cmdshell 'FORFILES /p c:BACKUP /s /m *.sql /d 10/18/2008 /c "CMD /C del /Q /F @FILE"'

  当文件更改日期多于30天时,删除所有C:Backup目录和它的子目录下的.sql文件。

  EXEC xp_cmdshell 'FORFILES /p c:BACKUP /s /m *.sql /d -30 /c "CMD /C del /Q /F @FILE"'

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  当文件更改日期多于30天且文件名以"F_"打头时,删除所有C:Backup目录和它的子目录下的.sql文件。

  EXEC xp_cmdshell 'FORFILES /p c:BACKUP /s /m F_*.sql /d -30 /c "CMD /C del /Q /F @FILE"'

展开更多 50%)
分享

猜你喜欢

使用FORFILES命令来删除SQL Server备份

编程语言 网络编程
使用FORFILES命令来删除SQL Server备份

SQL Server自动备份无法删除过期的备份文件

SQLServer
SQL Server自动备份无法删除过期的备份文件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server磁带数据备份

SQLServer
SQL Server磁带数据备份

Asp备份与恢复SQL Server

ASP
Asp备份与恢复SQL Server

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

重启IIS和SQL Server命令

编程语言 网络编程
重启IIS和SQL Server命令

SQL Server常用管理命令小结

编程语言 网络编程
SQL Server常用管理命令小结

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Mac怎么安装Win10正式版?

Mac怎么安装Win10正式版?

WPS文稿利用渐变为文字披件纱衣

WPS文稿利用渐变为文字披件纱衣
下拉加载更多内容 ↓