备份日志,并删除过期的备份

BACKUP DATABASE 【数据库】TO DISK = 【路径】 WITH COMPRESSION,NOINIT,NAME=@BACKUPNAME, EXPIREDATE = @EXPIREDATE

--删除过期的备份

INSERT INTO @TBL_BACKUPHISTORY

SELECT NAME,expiration_date AS [EXPIREDATE] FROM MSDB..BACKUPSET WHERE NAME LIKE '%.bak' and expiration_date<=getdate()

SELECT @COUNT = MAX(ID) FROM @TBL_BACKUPHISTORY

IF @COUNT>0

BEGIN

  SET @I = 1

  SELECT @CDATE = MAX([EXPIREDATE]) FROM @TBL_BACKUPHISTORY

  WHILE @I<=@COUNT

  BEGIN

    SELECT @DELFILENAME = NAME FROM @TBL_BACKUPHISTORY WHERE ID = @I

    SET @DELBAKSQL = 'DEL 【路径】'+@DELFILENAME

    exec master.dbo.xp_cmdshell @DELBAKSQL

  END

 

  --删除备份和还原历史记录中所有小于@CDATE的记录

  EXEC msdb..SP_DELETE_BACKUPHISTORY @CDATE

    END

转载于:https://www.cnblogs.com/zhaoyx/archive/2012/09/27/2705055.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值