sqlserver使用job删除过期备份文件
享下链接: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
- 备份的删除根据exec master.dbo.xp_cmdshell'del D:\test.txt'演变过来
- CONVERT(varchar(100), GETDATE()-3, 112)获取3天前的时间(不就过期咯)。
在此遇到一个坑分享下就是要删除的备份文件路径里面含有空格,解决办法就是在空格两边加双引号””,如上。
sqlserver使用job删除过期备份文件的更多相关文章
- CMD批处理——forfiles命令使用,自动删除过期备份文件
公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服务器去手工删除那些老的文件,有时忘记了就会导致硬盘空间不足而无法备份.因为只要保留最近几天的备份,如果可以做一个批处理让系统 ...
- SQL Server ->> 调用系统内建扩展存储过程"master.dbo.xp_delete_file"删除过期备份文件
DECLARE @oldDate DATETIME SET @oldDate = GETDATE()-30 EXECUTE MASTER.dbo.xp_delete_file 0, N'D:\back ...
- SqlServer数据库同时备份到两台服务器上(并自动删除过期文件)
数据库同时备份到两台服务器上(并自动删除过期文件) 举例 :(本地)服务器A: IP :192.168.1.1 (远程)服务器B: IP :192.168.1.2 数据库版本:SqlServer200 ...
- db2 删除过期的日志和备份文件(转)
DB2 删除过期备份和日志 $ db2 list history archive log all forpayment2 ------列出归档日志 $ db2 list history back ...
- crontab定时任务打包备份文件并删除过期文件
Crontab 示例,最后这里要写成shell脚本定时运行 30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out ...
- RMAN 命令-删除过期
手动删除日志文件后的处理,不然rman备份会出错 rman target / crosscheck archivelog all; delete expried archivelog all; 删除所 ...
- SQL SERVER 2008 R2 自动备份并删除过期备份数据
我们的系统维护的过程中肯定需要对数据库进行定期的备份,但是如果定时手工备份的话,不但浪费时间,也不能保证每次都可以按时备份,所以自动备份成为了我们的不二选择,但是定时备份需要定期清理备份文件, ...
- Windows 下 MySQL 简单定时自动备份、删除过期备份
Windows 下 MySQL 简单定时自动备份.删除过期备份 MySQL Workbench 客户端虽然好用,但并不提供自动备份功能.手工备份,确实繁琐. 新建一个 数据库备份文件存放目录,本例为D ...
- Linux下自动删除过期备份和自动异地备份
每天自动删除过期备份 首先编写一个简单的Shell脚本DeleteExpireBackup.sh: #!/bin/bash # 修改需要删除的路径 location="/database/b ...
随机推荐
- reids数据类型
今天第一次开通,写的不好,请谅解 redis并不是简单的key-value存储,实际上它是一个数据结构服务器,支持不同类型的值,也就是说,我们不仅仅把字符串当作键所指向的值, 如下这些数据 ...
- key-value存储Redis
Key-value数据库是一种以键值对存储数据的一种数据库,(类似java中的HashMap)每个键都会对应一个唯一的值. Redis与其他 key - value 数据库相比还有如下特点: Redi ...
- IOS——触摸事件 视图检测和事件传递
iPhone上有非常流畅的用户触摸交互体验,能检测各种手势:点击,滑动,放大缩小,旋转.大多数情况都是用UI*GestureRecognizer这样的手势对象来关联手势事件和手势处理函数.也有时候,会 ...
- lua 数据类型
lua 数据类型 8 种数据类型 类型 说明 nil 空类型 boolean 布尔类型 number 数值型, 浮点型 string 字符串 function 函数 userdata 用户自定义结构 ...
- Extjs6(特别篇)——项目自带例子main.js拆分详解
本文基于extjs6.0.0 一.拆分代码来看看 1.主页面main是个tab页: 写一些页面的依赖: 标明页面的controller和viewModel Ext.define('Learning.v ...
- std::thread使用
本文将从以下三个部分介绍C++11标准中的thread类,本文主要内容为: 启动新线程 等待线程与分离线程 线程唯一标识符 1.启动线程 线程再std::threada对象创建时启动.最简单的情况下, ...
- 什么是PROFINET IO系统的实时性
实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行. PROFINET IO系统的实时性就是指当有一个外部事件发生时,从输入信号到传输.到控制 ...
- java异常处理机制(try-catch-finally)
/* * 异常处理机制 * 1.分类:Error和Exception * Error错误是JVM自动报错的,程序员无法解决例如开数组过大int a[]=new int [1024*1024*1024] ...
- ThinkPHP框架之空控制器
HOME代表的是模块 前台可以用Home 后台用Admin Model View Controller 统称为MVC Model 是数据模型 主要是和数据库打交道的 View代表显 ...
- 蓝桥杯-有奖猜谜-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...