zoukankan      html  css  js  c++  java
  • 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 FilesMicrosoftSQL ServerMSSQL10_50.MSSQLSERVERMSSQL\Backup\RRD_WORKORDERPMT_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.MSSQLSERVERMSSQL\BackupRRD_WORKORDERPMT_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: est.txt'演变过来
    2. CONVERT(varchar(100), GETDATE()-3, 112)获取3天前的时间(不就过期咯)。
      在此遇到一个坑分享下就是要删除的备份文件路径里面含有空格,解决办法就是在空格两边加双引号””,如上。
  • 相关阅读:
    Django学习案例一(blog):四. 使用Admin
    Django学习案例一(blog):三. 模型生成数据
    Django学习案例一(blog):二. 连接数据库
    连接Xively云
    undefined reference to `_sbrk', `_write', `_lseek', `_read'
    Android manifest
    关于android socket出现at java.net.DatagramSocket java.net.BindException at libcore.io.IoBridge.bind(IoBridge.java:89)等waring
    virtual box Failed to load unit ""pgm" 的error
    Lwip lwip_recvfrom函数一个数据包不能分多次读取。
    获取Window下的文件缩略图
  • 原文地址:https://www.cnblogs.com/zhongqiang/p/6808880.html
Copyright © 2011-2022 走看看