享下链接:http://blog.csdn.net/xieyufei/article/details/33770067
(注意这里主要说明怎么设置删除过期备份文件)

先说下sqlserver使用job删除过期备份文件总体思路:①备份数据库文件的时候命名要有规则,如:”PTM_WorkOrder_”+当前时间(年月日)+“_”+当前小时[强调一下:无论你命名规范是什么一定要带上时间]

②删除过期备份文件实质就是使用sql语句删除指定文件(这也是为什么备份文件命名要带上时间的原因)

接下来具体分享怎么删除过期备份文件:(1)这是job,我第一想法是修改job脚本更改更能,可惜水平有限(整体看不太懂,懵逼),在此提供一个简单的方式:点击该你要修改的job,查看properties

命令里就是job自动执行的sql语句(总体结构清晰的多了,看着不舒服的话可以查看job脚本)。

命令内容如下:

DECLARE @bakFile varchar(200),@delFile varchar(200),@str varchar(200),@strtest varchar(200);

SET @bakFile='C:\Program Files\MicrosoftSQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\\Backup\\RRD_WORKORDER\PMT_WorkOrder_' + CONVERT(varchar(100), GETDATE(), 112) + +'_' + CAST(DATEPART(HOUR, GETDATE()) AS VARCHAR(2)) + '.bak';

BACKUP DATABASE [RRD_WORKORDER] TO  DISK = @bakFile WITH NOFORMAT, NOINIT,  NAME = N'RRD_WORKORDER-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10;

SET @delFile = 'C:\"Program Files"\"Microsoft SQL Server"\MSSQL10_50.MSSQLSERVER\MSSQL\\Backup\RRD_WORKORDER\PMT_WorkOrder_' + CONVERT(varchar(100), GETDATE()-3, 112) + +'_' + CAST(DATEPART(HOUR, GETDATE()) AS VARCHAR(2)) + '.bak';

set @str='del '+@delFile

exec master.dbo.xp_cmdshell @str

GO

  1. 备份的删除根据exec master.dbo.xp_cmdshell'del D:\test.txt'演变过来
  2. CONVERT(varchar(100), GETDATE()-3, 112)获取3天前的时间(不就过期咯)。
    在此遇到一个坑分享下就是要删除的备份文件路径里面含有空格,解决办法就是在空格两边加双引号””,如上。

sqlserver使用job删除过期备份文件的更多相关文章

  1. CMD批处理——forfiles命令使用,自动删除过期备份文件

    公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服务器去手工删除那些老的文件,有时忘记了就会导致硬盘空间不足而无法备份.因为只要保留最近几天的备份,如果可以做一个批处理让系统 ...

  2. SQL Server ->> 调用系统内建扩展存储过程"master.dbo.xp_delete_file"删除过期备份文件

    DECLARE @oldDate DATETIME SET @oldDate = GETDATE()-30 EXECUTE MASTER.dbo.xp_delete_file 0, N'D:\back ...

  3. SqlServer数据库同时备份到两台服务器上(并自动删除过期文件)

    数据库同时备份到两台服务器上(并自动删除过期文件) 举例 :(本地)服务器A: IP :192.168.1.1 (远程)服务器B: IP :192.168.1.2 数据库版本:SqlServer200 ...

  4. db2 删除过期的日志和备份文件(转)

    DB2 删除过期备份和日志 $ db2 list history archive log all forpayment2    ------列出归档日志 $ db2 list history back ...

  5. crontab定时任务打包备份文件并删除过期文件

    Crontab 示例,最后这里要写成shell脚本定时运行 30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out ...

  6. RMAN 命令-删除过期

    手动删除日志文件后的处理,不然rman备份会出错 rman target / crosscheck archivelog all; delete expried archivelog all; 删除所 ...

  7. SQL SERVER 2008 R2 自动备份并删除过期备份数据

        我们的系统维护的过程中肯定需要对数据库进行定期的备份,但是如果定时手工备份的话,不但浪费时间,也不能保证每次都可以按时备份,所以自动备份成为了我们的不二选择,但是定时备份需要定期清理备份文件, ...

  8. Windows 下 MySQL 简单定时自动备份、删除过期备份

    Windows 下 MySQL 简单定时自动备份.删除过期备份 MySQL Workbench 客户端虽然好用,但并不提供自动备份功能.手工备份,确实繁琐. 新建一个 数据库备份文件存放目录,本例为D ...

  9. Linux下自动删除过期备份和自动异地备份

    每天自动删除过期备份 首先编写一个简单的Shell脚本DeleteExpireBackup.sh: #!/bin/bash # 修改需要删除的路径 location="/database/b ...

随机推荐

  1. 最近公共祖先LCA(Tarjan算法)的思考和算法实现

    LCA 最近公共祖先 Tarjan(离线)算法的基本思路及其算法实现 小广告:METO CODE 安溪一中信息学在线评测系统(OJ) //由于这是第一篇博客..有点瑕疵...比如我把false写成了f ...

  2. 简单c语言子集词法分析器

    概述 词法分析是编译的第一个环节,其输入是高级语言程序,输出是单词串.词法分析器的主要任务是将高级语言程序作为字符串输入,然后依据词法规则将字符串组合成单词,并输出单词串. 为了方便之后的编译环节,通 ...

  3. 打印Fibonacci数列方法汇总(前20项,每行5个)

    NO.1 迭代法 标签:通俗.易懂 思路:先打印第一项.再在循环里面执行fib=fib1+fib2,把fib2赋给fib1,把fib赋给fib2,每行5个可使用if函数(循环次数对5取余). #inc ...

  4. HYML / CSS部分

    1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个 ...

  5. div模拟输入框input/textarea

    //html<!--填写信息--> <div class="info-wrap"> <form class="formToCheck&quo ...

  6. 线下市场,选择微信小程序从未显得如此重要

    2017 年 1 月 9 日,小程序正式上线,到今日,3 月 8 号,这个新产品面世刚好满两个月.小程序刚推出便受到全球关注,腾讯股价当天即创逾一个月高位,但关注度先是急速上涨,不久便迅速降温,甚至在 ...

  7. bzoj4827 [Hnoi2017]礼物

    Description 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一个送给她.每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度.但是在 ...

  8. openfire+smack 实现即时通讯基本框架

    smack jar下载地址 http://www.igniterealtime.org/downloads/download-landing.jsp?file=smack/smack_3_2_2.zi ...

  9. 详解Java反射机制

    反射是程序在运行状态下,动态的获取某个类的内部信息的一种操作.例如:类名,包名,所有属性的集合,所有方法的集合,构造方法的集合等.该操作发生在程序的运行时状态,所以编译器管不着有关反射的一些代码,通常 ...

  10. TCP/IP协议精华笔记

    1.简介 TCP/IP协议并非单指TCP协议.IP协议,它是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议.ICMP(Internet Control Mes ...