国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

使用FORFILES命令來刪除SQLServer備份的批處理

2024-08-31 00:57:42
字體:
來源:轉載
供稿:網友
雖然有很多種方式可以解決這個問題,但是我們可以用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)。

  例子

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 利辛县| 枣阳市| 乌海市| 和平县| 晋中市| 昌乐县| 辽宁省| 山东| 县级市| 长武县| 临桂县| 昭通市| 资兴市| 临汾市| 鹤山市| 新余市| 延边| 扬州市| 商丘市| 英吉沙县| 巨鹿县| 永安市| 景德镇市| 六安市| 兴国县| 晋江市| 黄大仙区| 洪泽县| 桐梓县| 四平市| 明星| 三江| 德格县| 德江县| 冕宁县| 太和县| 恭城| 崇仁县| 镇安县| 广安市| 关岭|