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天前的时间(不就过期咯)。
      在此遇到一个坑分享下就是要删除的备份文件路径里面含有空格,解决办法就是在空格两边加双引号””,如上。
  • 相关阅读:
    C++中整型变量的存储大小和范围
    A1038 Recover the Smallest Number (30 分)
    A1067 Sort with Swap(0, i) (25 分)
    A1037 Magic Coupon (25 分)
    A1033 To Fill or Not to Fill (25 分)
    A1070 Mooncake (25 分)
    js 获取控件
    C#代码对SQL数据库添加表或者视图
    JS 动态操作表格
    jQuery取得下拉框选择的文本与值
  • 原文地址:https://www.cnblogs.com/zhongqiang/p/6808880.html
Copyright © 2011-2022 走看看