SQL刪除過期檔案

2021-09-27 05:08:05 字數 1334 閱讀 2992

在sql server中, 一般是用維護計畫實現刪除過期檔案。不過直接用指令碼也是可以的,而且更靈活。

下面介紹三種方法。

--優點:相容性好

--缺點:不能刪除sql server之外建立的檔案,包括rar

--備註:維護計畫中的「清理維護」也是呼叫此 擴充套件儲存過程 來刪除檔案。

declare @olddate datetime

set @olddate = getdate()-7

execute master.dbo.xp_delete_file

0, --0: 備份檔案,1: 維護計畫文字報告

n'd:\database_bak\', --檔案路徑

n'bak', --副檔名

@olddate, --在此時間之前的檔案一律刪除

1 --刪除子資料夾中的檔案

--優點:非常靈活,可以刪除任何型別的檔案

--缺點:要求許可權較大,開啟後存在安全隱患

declare @directory nvarchar(50) --目錄

declare @days nvarchar(10) --保留多少天

declare @extensions nvarchar(max) --副檔名

declare @scripts nvarchar(4000)

set @directory=n'd:\database_bak'

set @days = n'7'

set @extensions = n'bak'

set @scripts=n'forfiles /p "'+@directory+'" /s /m *.'+@extensions+' /d -'+@days+' /c "cmd /c del @path"'

exec xp_cmdshell @scripts

--優點:非常靈活,可以刪除任何型別的檔案

--缺點:不適用於 sqlserver2005

--備註:在作業的步驟中,型別必須選擇 "powershell"

$timeoutday = 7

$filepath = "d:\database_bak"

$allfile = get-childitem -path $filepath

foreach($file in $allfile)

}

linux刪除過期檔案

建立刪除檔案指令碼 bin sh 定義所刪除目錄路徑 location find location mtime 365 type f name jmhrms trc exec rm f 或者 bin sh find u01 oracle admin jmhrms bdump mtime 365 ty...

linux刪除過期檔案

建立刪除檔案指令碼 bin sh 定義所刪除目錄路徑 location find location mtime 365 type f name jmhrms trc exec rm f 或者 bin sh find u01 oracle admin jmhrms bdump mtime 365 ty...

用SQL作業實現刪除過期檔案

在sql server中,一般是用維護計畫實現刪除過期檔案。不過直接用指令碼也是可以的,而且更靈活。下面介紹三種方法,新建乙個作業,在作業的步驟裡加上相關的指令碼就可以了。1.xp delete file 優點 相容性好 缺點 不能刪除sql server之外建立的檔案,包括rar 備註 維護計畫中...