先用向导生成备份任务,然后将它作为SQL SERVER的作业,定期调用就可以啦(Ms sever agent服务要开启)

解决方案 »

  1.   

    我做过一个:
    给你参考一下吧:
    CREATE proc proc_backup
    (@file char(100),@sjk char(10))
    as
    --备份
    declare @date datetime,@str char(20),@file_b char(50),@sjk_b char(10)
    --@file_B保存的文件名、@sjk_b数据库
    declare @hua char(200)
    select @file_b=rtrim(ltrim(@file)),@sjk_b=rtrim(ltrim(@sjk))
    select @str=convert(char,getdate(),20)
    select @str=REPLACE(@str,' ','')
    select @str=REPLACE(@str,':','')
    select @str=REPLACE(@str,'-','')
    select @hua=ltrim(rtrim(@file_b))+ltrim(rtrim(@str))
    --@hua合成含有时间信息的备份文件名保证每次的文件名都不相同
    exec master..sp_addumpdevice 'disk','aa0111',@hua
    --创建备份设备
    backup database @sjk_b to aa0111
    --执行备份
    exec master..sp_dropdevice 'aa0111'
    --删除备份设备
      

  2.   

    我完全同意visiond(vision) 的观点,如果你使用sql server作为后台数据库,那么你完全不必自己再写一个备份/恢复的程序,因为sql server里面已经有了一个非常强大的备份/恢复管理程序,你只要在企业管理器里面设置好备份的种类、频率等,其它的一切都交给sql server去做吧。
    从前我也有跟你一样的想法,但是我用了sql server的备份/恢复程序之后,我发现以我目前的水平不太可能变出一个比微软更好的备份/恢复程序,所以我就放弃了这个想法,用到现在,这是简单方便,我相信它也同样适用于您!
      

  3.   

    用sqlmaint实用工具或xp_sqlmaint存储过程来完成吧!我也同意楼上的意见,不用自己再花精力来写备份存储过程了,微软的那个数据库维护向导很好用,很适合新手入门.