在sql server 2000中的数据库维护计划添加了一个备份数据的计划,设置的删除早于此时间两天的文件,但从来都没有删除过,只能手动删除,因硬盘空间有限,有没有朋友也遇到过这样的问题,请教如何解决

解决方案 »

  1.   

    --备份 
    declare  @sql  varchar(8000)  
    set  @sql='backup  database  mis    to  disk=''d:\databack\mis\mis'  
    +rtrim(convert(varchar,getdate(),112))+'.bak'''  
    exec(@sql)    
    --删除15天前备份文件  
    set  @sql='del  d:\databack\mis\mis'  
    +rtrim(convert(varchar,getdate()-15,112))+'.bak'''  
    exec  master..xp_cmdshell  @sql
      

  2.   

    --init覆盖,
    backup database database to disk='E:\database.bak' with init 
      

  3.   

    你先把你的代码在查询分析器里执行,确保你的语句没问题再建计划~~~
    --备份 
    declare  @sql  varchar(8000)  
    set  @sql='backup  database  mis    to  disk=''d:\databack\mis\mis'  
    +rtrim(convert(varchar,getdate(),112))+'.bak'''  
    exec(@sql)    
    --删除15天前备份文件  
    set  @sql='del  d:\databack\mis\mis'  
    +rtrim(convert(varchar,getdate()-15,112))+'.bak'''  
    exec  master..xp_cmdshell  @sql
      

  4.   

    这是作业里的代码EXECUTE master.dbo.xp_sqlmaint N'-PlanID 9238350C-6E64-4B45-9942-52F1A5838C7D -Rpt "E:\BACKUP\备份数据库4.txt"  -VrfyBackup -BkUpMedia DISK -BkUpDB "E:\BACKUP\DATA" -DelBkUps 1DAYS -BkExt "BAK"'
      

  5.   

    你是不是SQL 代理没有启动啊! 没启动 删除不了的应该是
      

  6.   

    select getdate()- cast (5 as datetime)
    等价于
    select getdate()-5
    隐式转换