启用定时备份后,如何删除已过期备份集

启用定时备份后,如何删除已过期备份集,第1张

1.打开SQL SERVER 2008 R2,连上数据库,右键选择【管理】-【维护计划】-【维护计划向导】。

2. 在名称中为维护计划取一个通俗易懂的名字,例如“EveryDayBak”,然后点击更改来制定维护计划的执行计划。

3.执行计划可以按照自己的要求,每日、周、月定时执行,例如下图的计划就是每天凌晨0点开始执行。

4.然后点击确定返回上一步【维护计划向导-选择计划属性】界面,点击下一步。d出【选择维护计划】界面。

5.选中【备份数据库(完整)】和【“清除维护”任务】两个复选框。选择下一步,排列任务顺序,可以直接下一步。

6.d出【定义“备份数据库(完整)”任务】窗口

首先在数据库下拉框中选择需要备份的数据,可复选。

其次为选择备份文件保存的路径,可以勾选【验证备份完整性】复选框提高备份安全性。

最后在【设置备份压缩】选项中根据自己服务器的情况选择是否压缩。

然后下一步。

7.选择【搜索文件并根据扩展名删除文件】,在文件夹文本框中输入数据库备份保存的文件夹,文件扩展名输入【bak】

在【文件保留时间】区域选中【在文件运行时根据文件保留时间删除文件】复选框,然后在下面的下拉框中选择你所需要的备份保留时间长度。然后下一步。

点击【完成】即可。

--删除过期的备份文件,每天两次

declare @str varchar(100),@dir varchar(100),@fileName varchar(30)

set @dir='del D:\Weldon\'

set @filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),' ',''),':',''),8)

set @str=@dir+'fullbak'+@filename+'*.bak'

exec xp_cmdshell @str

set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)

set @str=@dir+'diffbak'+@filename+'*.diff'

exec xp_cmdshell @str

set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)

set @str=@dir+'logbak'+@filename+'*.trn'

exec xp_cmdshell @str

sql数据库是没有过期日期的,我估计你说的过期日期是备份的过期日期,备份的过期日期设置方法如下:

设置备份的过期日期

连接到相应的 Microsoft SQL Server 数据库引擎实例之后,在对象资源管理器中,单击服务器名称以展开服务器树。

展开“数据库”,然后根据数据库的不同,选择用户数据库,或展开“系统数据库”,再选择系统数据库。

右键单击数据库,指向“任务”,再单击“备份”。将出现“备份数据库”对话框。

在“常规”页上,为“备份集过期时间”指定一个过期日期以指明其他备份可以覆盖该备份集的时间:

若要使备份集在特定天数后过期,请单击“之后”(默认选项),并输入备份集从创建到过期的所需天数。此值范围为 0 到 99999 天;0 天表示备份集将永不过期。

默认值在“服务器属性”对话框(位于“数据库设置”页上)的“默认备份媒体保持期(天)”选项中设置。若要访问它,请在对象资源管理器中右键单击服务器名称,选择属性,再选择“数据库设置”页。

若要使备份集在特定日期过期,请单击“在”,并输入备份集的过期日期。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10037804.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存