当前位置:首页 > 系统运维 > 正文内容

巧用FORFILES命令删除sql server备份脚本(1)

a8116255316年前 (2010-09-14)系统运维8

假如不需要sql server备份文件,可否删除呢?答案是肯定的,接下来的SQL server内容就将教您一个删除sql server备份文件的 *** ,供您参考。

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

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

例子

当文件更改日期晚于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"'

当文件更改日期多于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"'

假如不需要sql server备份文件,可否删除呢?答案是肯定的,接下来的SQL server内容就将教您一个删除sql server备份文件的 *** ,供您参考。

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

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

参数

参数名 描述

/p 路径

/m 检索屏蔽 (默认情况下是 *.*)

/s 假如包含这个参数,那么子目录将会被递归地检索。

/c 针对结果集中的每一个文件执行命令,命令必须包含在双引号中,默认情况是"cmd c/ echo @file"

/d 针 对文件选择的日期范围,把最新的更改日期当作文件标准。当/d参数是MM/DD/YYYY格式时,满足指定的+/-日期标准的文件也包含在内。当文件格式 是 *** allint (-32,768 - 32,768)文件+/-文件并且带着一个更改日期+/-时,从当前日期到该日期的时间数目将会包含在这个文件结果集中。

变量

变量名 描述

@FILE 文件名

@FNAME 无扩展的文件名

@EXT 文件扩展名

@PATH 文件绝对路经

@RELPATH 文件的相对路径

@ISDIR 假如文件类型是一个目录,那么判断是否是TRUE

@FSIZE 文件大小(用字节衡量)

@FDATE 文件上的最新更改日期邮戳

@FTIME 文件上的最新更改时间邮戳

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

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

例子

当文件更改日期晚于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"'

当文件更改日期多于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"'

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/22412.html

分享给朋友:

“巧用FORFILES命令删除sql server备份脚本(1)” 的相关文章

windows 7系统如何设置休眠时不断网以便继续完成下载

windows 7系统如何设置休眠时不断网以便继续完成下载

在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

在某些电脑中,机器内部蜂鸣器与系统的声音输出方案是相关联的,这样一来会导致当系统输出声音时,即使电脑没有连接外部音响或耳机,也会通过内置蜂鸣器发出“嘟嘟哔哔”的声音。这个问题主要出现在Windows 7电脑中,假如你的电脑恰好遇到了这样的问题,可参考下面的方法来解决: 1、在桌面“计算机”图标上右...

如何删除自带的不常用应用为windows 7减负

如何删除自带的不常用应用为windows 7减负

对于Windows 7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等。删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Windows...

Windows7开机后出现黑一下屏性能降低

Windows7开机后出现黑一下屏性能降低

打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...

各个都很实用:windows 7系统电脑日常小技巧

各个都很实用:windows 7系统电脑日常小技巧

在使用Windows 7的时候很多用户对于系统的很多功能并不是很了解,也正是因为这样的不了解导致很多用户在使用Win 之后并不能体验Windows 7的功能便携和强大功能,导致很多用户对于Windows 7的认识还是比较模糊,不过为了让更多的朋友了解Windows 7的特点和便携应用,今天就为大家汇...

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态   Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...