创建作业的方法:企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.

解决方案 »

  1.   

    每年8.15、6.30等特定几天执行已经写好的存储过程这种要求很特殊,如果可能,建议直接写个程序来完成处理,而不用sql的作业,sql的作业的最大粒度是按月,所以要用作业的话,可以考虑按月处理,比如每年8.15的处理,可以设置一个每个月的15号执行一次检查,如果当前月是8月,则进行处理,否则就不处理。
      

  2.   

    -示例:--创建作业
    exec msdb..sp_add_job @job_name='数据处理'--创建作业步骤
    declare @sql varchar(800),@dbname varchar(250)
    select @sql='exec p_createxml'  --数据处理的命令
    ,@dbname=db_name()--执行数据处理的数据库名exec msdb..sp_add_jobstep @job_name='数据处理',
    @step_name = '数据同步',
    @subsystem = 'TSQL',
    @database_name=@dbname,
    @command = @sql,
    @retry_attempts = 5, --重试次数
    @retry_interval = 5  --重试间隔--创建调度
    EXEC msdb..sp_add_jobschedule @job_name = '数据处理', 
    @name = '时间安排',
    @freq_type=4, --4 每天,8 每周,16 每月
    @freq_interval=1,--作业执行的天数
    @freq_subday_type=0,--是否重复执行,0x1 在指定的时间, 0x4 分钟, 0x8 小时 
    @freq_subday_interval=1, --重复周期
    @freq_recurrence_factor=0,--重复执行,则设置为1,否则设置为0
    @active_start_time = 00000--0点开始执行-- 添加目标服务器
    EXEC msdb.dbo.sp_add_jobserver 
    @job_name = '数据处理' ,
    @server_name = N'(local)'
      

  3.   

    你自己看下以下系统表或存储过程吧:select * from sysjobsteps
    select * from sysjobservers
    select * from sysjobschedules
    select * from sysjobs
    select * from sysjobhistory
    --===============
    sp_add_job
    sp_add_jobschedule
    sp_add_jobserver
    sp_add_jobstepsp_delete_job
    sp_delete_jobschedule
    sp_delete_jobserver
    sp_delete_jobstep
    --===============
    sp_start_job
    sp_stop_job
    sp_help_job
    sp_update_job
    sp_help_jobhistory