zoukankan      html  css  js  c++  java
  • 备份日志,并删除过期的备份

    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

  • 相关阅读:
    6/10
    Alpha 冲刺5/10
    现场编程
    4/10
    3/10
    总结
    bbbbbeta
    总结
    beta 7
    beta 6
  • 原文地址:https://www.cnblogs.com/zhaoyx/p/2705055.html
Copyright © 2011-2022 走看看