sql2005 使用维护计划 备份后怎么只保留7天数据
已经实现自动备份了,但是备份数据过期问题要怎么让它自动删除掉。先声明:无答案散分。

解决方案 »

  1.   

    --参考:
    --删除过期的备份文件,每天两次
    declare @str varchar(100),@dir varchar(100),@fileName varchar(30)
    set @dir='del D:\DBtext\jgj\DBABak\'
    set @filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),' ',''),':',''),8)
    set @str=@dir+'fullbak'+@filename+'*.bak'
    exec xp_cmdshell @str
    set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)
    set @str=@dir+'diffbak'+@filename+'*.diff'
    exec xp_cmdshell @str
    set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)
    set @str=@dir+'logbak'+@filename+'*.trn'
    exec xp_cmdshell @str
      

  2.   

    将计划中的所有数据库备份到它们在默认的 x:\Program Files\Microsoft SQL Server\Mssql\Backup 目录中各自的子目录中。同时删除任何超过两个星期的备份sqlmaint -S MyServer -U "sa" -P "SaPwd" -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks
      

  3.   

    同时删除任何超过两个星期的备份sqlmaint -S MyServer -U "sa" -P "SaPwd" -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks这个要放在哪里用
      

  4.   


    --定时任务
    --例子
    EXECUTE master.dbo.xp_sqlmaint 
    N'-PlanID 52A439BA-0189-4206-93E6-17C18FF17D45 -WriteHistory  -VrfyBackup -BkUpMedia DISK -BkUpDB "F:\最新资料\AutoBackupData" -DelBkUps 2WEEKS -CrBkSubDir -BkExt "BAK"'
      

  5.   

    EXECUTE master.dbo.xp_sqlmaint N'-PlanID 52A439BA-0189-4206-93E6-17C18FF17D45 -WriteHistory  -VrfyBackup -BkUpMedia DISK -BkUpDB "F:\最新资料\AutoBackupData" -DelBkUps 2WEEKS -CrBkSubDir -BkExt "BAK"'帮我解释一下语句的意识,除了路径外其他的都不知道是什么。
    运行后还sqlmaint.exe 失败
      

  6.   

    在维护计划中不能直接放语句吧?
    你是说在维护计划的认为下面的 “执行T-Sql语句”任务 吗?
      

  7.   

    还有sqlmaint要安装的,你看下联机帮助
      

  8.   


    谢了 没想到这么简单。也谢谢nianran520和其他人的帮助。