用C# 添加了一条计划任务。作用是定时完全备份数据库 。
代码:
        updateTask();
        //拼接任务计划名
        tskName = "Backup";
        //增加任务计划
        schTask = schtskBackup.CreateTask("Backup" + intCount.ToString());//创建任务并命名
        //指定任务执行的对象
        schTask.ApplicationName = System.AppDomain.CurrentDomain.BaseDirectory + "DBBackup.cmd";
        //任务计划的说明
        schTask.Comment = "Backup the Data";
        //指定用户
        schTask.SetAccountInformation(strSysUserName, strUserPwd);
        //设置优先级
        schTask.Priority = System.Diagnostics.ProcessPriorityClass.High;        Trigger tg = new MonthlyTrigger(strHour, strMinute, intDays);
        //将触发器添加到任务计划
        schTask.Triggers.Add(tg);
        schTask.Save();
        
我手动在计划任务里添加是可以运行的,手动执行DBBackup.cmd也是可以的。
从表面看我手设的计划任务和程序生成的一样。不知道是不是详细设置里面有什么遗漏的,各位看官给个意见。

解决方案 »

  1.   

    这个程序在xp 和 win2003 里面都实验过了,效果都是一样的,程序生成的无论自动还是手动运行都是一闪而过,一句代码都没有运行
      

  2.   

    谢过回复
    用的 Express 版本,没有作业啊~~~ ,我用的存储过程,功能做过测试是可以的。
      

  3.   

    DBBackup.cmd 
    文件就一句话:
    osql -E -S .\sqlexpress -i BackUp.sql
      

  4.   

    用windows服务啊,开机启动就行了
      

  5.   

    谢过回复 
    我考虑过用service ,但我需要动态修改备份的时间,当然也可以让服务通过监听文件来处理。
    不过我还是想通过计划任务去完成,就郁闷为什么不能出效果,毕竟cmd文件已经执行了,不过就是一闪而过。怀疑是不是计划任务不能做文件的执行,或者说是需要更详细的设置?望各位赐教
      

  6.   

    是不是需要windows用户和密码?
      

  7.   

    我也试过,手工添加能正常运行,但用代码添加就不能,
    可是vista总管的可以啊!???
    搞不懂?????
      

  8.   

    我的在vs2008里可以正常创建,可是拿到iis配置里 就不行了,应该是权限问题,楼主怎么解决的啊 谢谢