我现在需要在SQL server 2000 中做两种备份:增量备份和完全备份,同时满足的条件是每次新增量备份前删除5天前的增量备份;每次完全备份删除掉2周前的备份。求大神解救sql server自动备份

解决方案 »

  1.   

    sql server目前没有增量备份,只有差异备份。至于你的需求,维护计划里面就有,定义两个作业用来做备份。然后在定义两个作业,分别用来清空n天前的备份文件。
      

  2.   

    请问你说的是在Maintenace Plans里面呢?还是SQL Server Agent的Jobs里呢?
    如果是Maintenace Plans,那么哪里能区别是完全备份还是差异备份呢?
    我有看到过Jobs中写脚本的,但是这里没有清空N天前的备份文件的功能啊?
      

  3.   

    Maintenace Plans里面,而且实际上你创建好Maintenace Plans之后,自动会创建对应的JOB。Maintenace Plans有【备份】的图标,具体忘记名字了很多年没用2000,双击就有的选。
      

  4.   

    你这个是SQL 05,05我熟悉的,关键是现在要用坑爹的00,我00就是找不到差异和完全的选项,所以求解救
      

  5.   


    我想说的是你的这个和SQL 05差不多,我还是再研究研究看吧!事实上我已经把Plans中所有能点过的按钮都点过了
      

  6.   

    2008维护计划生成的差异备份脚本,你看看有多少不能用的,我没2000的环境EXECUTE master.dbo.xp_create_subdir N'E:\BackupFiles\test'
    GO
    BACKUP DATABASE [test] TO  DISK = N'E:\BackupFiles\test\test_backup_2013_09_18_033047_4590611.dif' WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = N'test_backup_2013_09_18_033047_4590611', SKIP, REWIND, NOUNLOAD, COMPRESSION,  STATS = 10
    GO
    declare @backupSetId as int
    select @backupSetId = position from msdb..backupset where database_name=N'test' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'test' )
    if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database ''test'' not found.', 16, 1) end
    RESTORE VERIFYONLY FROM  DISK = N'E:\BackupFiles\test\test_backup_2013_09_18_033047_4590611.dif' WITH  FILE = @backupSetId,  NOUNLOAD,  NOREWIND
      

  7.   

    删除C:\TEST目录下,超过4周的完整备份文件,你查查master.dbo.xp_delete_file 这个的用法,修改一下EXECUTE master.dbo.xp_delete_file 0,N'c:\test',N'.bak',N'2013-08-21T10:34:08',1
      

  8.   

    这个语句好像针对于SQL server 2000不管用,我尝试了几次都删除不掉。
      

  9.   

    那你看看2000的联机丛书有没有对这个东西有说明,如果没有的话你可能需要使用cmd命令来实现了