SQL自動刪除備份檔案

2021-05-21 17:43:33 字數 1566 閱讀 6151

declare  @sql varchar(8000)  

--下面是刪除15天前備份檔案的處理  

set @sql='del e:/databasebackup/'  

@sql=@sql +rtrim(convert(varchar,getdate()-15,112))+'.bak'

exec  master..xp_cmdshell   @sql  

declare @delfile varchar(256)

set @delfile='del e:/databasebackup/'

set @delfile=@delfile+'shya_data_'+replace(convert(varchar(10),getdate()-28,120),'-','_')

exec  master..xp_cmdshell  @delfile

--判斷檔案是否存在

create table ##tb(a bit,b bit,c bit)

declare @sql varchar(256)

set @sql='e:/databasebackup'+'shya_data_'+replace(convert(varchar(10),getdate()-28,120),'-','_')

insert into ##tb

exec master..xp_fileexist @sql

--檔案存在則刪除

if exists(select 1 from ##tb where a=1)

begin

declare @delfile varchar(256)

set @delfile='del e:/databasebackup/'

set @delfile=@delfile+'shya_data_'+replace(convert(varchar(10),getdate()-28,120),'-','_')

exec  master..xp_cmdshell  @delfile

enddrop table ##tb

---最新**

--判斷檔案是否存在

create table ##tb(a bit,b bit,c bit)

declare @delfile varchar(256)

set @delfile='e:/databasebackup/'

set @delfile=@delfile+'shya_data_'+replace(convert(varchar(10),getdate()-28,120),'-','_')

insert into ##tb

exec master..xp_fileexist @delfile

--檔案存在則刪除

if exists(select 1 from ##tb where a=1)

begin

declare @delsql varchar(256)

set @delsql='del '+ @delfile

exec  master..xp_cmdshell  @delsql

enddrop table ##tb

SQL 2005自動備份與自動刪除備份檔案

點選 sql server 外圍應用配置器 開啟 功能的外圍應用配置器 在裡面啟用xp cmdshell,重啟sql服務,使其生效 在windows目錄下的system32目錄裡新建 del oldfiles.vbs 內容如下 strdrive left wscript.arguments 0 2 ...

SQL2000自動備份 壓縮 刪除 備份檔案

create proc dbbf test asdeclare dbname varchar 20 cmd1 nvarchar 120 cmd2 varchar 120 cmd3 varchar 120 i int,filename varchar 80 path varchar 80 set db...

刪除mysql備份檔案

前言 前篇介紹了mysql的備份方法,但備份不是越多越好,如果磁碟空間不夠用,我需要保留近乙個周的備份就可以了,那就需要刪除備份指令碼了,特別注意刪除操作比較危險,變數傳參要進行二次確認。bin bash delte mysql back of 7 days ago author jzd versi...