http://blog.csdn.net/zjcxc/archive/2004/07/29/55230.aspx

解决方案 »

  1.   

    sp_add_job
    添加由 SQLServerAgent 服务执行的新作业。语法
    sp_add_job [ @job_name = ] 'job_name'
        [ , [ @enabled = ] enabled ]
        [ , [ @description = ] 'description' ]
        [ , [ @start_step_id = ] step_id ]
        [ , [ @category_name = ] 'category' ]
        [ , [ @category_id = ] category_id ]
        [ , [ @owner_login_name = ] 'login' ]
        [ , [ @notify_level_eventlog = ] eventlog_level ]
        [ , [ @notify_level_email = ] email_level ]
        [ , [ @notify_level_netsend = ] netsend_level ]
        [ , [ @notify_level_page = ] page_level ]
        [ , [ @notify_email_operator_name = ] 'email_name' ]
        [ , [ @notify_netsend_operator_name = ] 'netsend_name' ]
        [ , [ @notify_page_operator_name = ] 'page_name' ]
        [ , [ @delete_level = ] delete_level ]
        [ , [ @job_id = ] job_id OUTPUT ]
      

  2.   

    参数
    [ @job_name = ] 'job_name'作业的名称。该名称必须唯一,不能包含百分比 (%) 字符。job_name 的数据类型为 sysname,没有默认设置。[ @enabled = ] enabled指明所添加的作业的状态。enabled 的数据类型为 tinyint,默认设置为 1(启用)。如果为 0,则不启用作业,也不按照其调度运行该作业;但是可以手工运行该作业。 [ @description = ] 'description'是作业描述。description 是 nvarchar(512) 类型,其默认值为 NULL。如果省略 description,则使用"无可用的描述"。[ @start_step_id = ] step_id该作业所要执行的第一步的标识号。step_id 的数据类型为 int,默认设置为 1。[ @category_name = ] 'category'是作业分类。category 的数据类型为 sysname,默认设置为 NULL。[ @category_id = ] category_id用来指定作业分类的与语言无关的机制。category_id 的数据类型为 int,默认设置为 NULL。[ @owner_login_name = ] 'login'是拥有作业的登录的名称。login 的数据类型为 sysname,默认设置为 NULL,此时可解释为当前的登录名。[ @notify_level_eventlog = ] eventlog_level指明何时将该作业的项目放进 Microsoft® Windows NT® 应用程序日志中的值。eventlog_level 的数据类型为 int,可以为下列值之一。值 描述 
    0 从不 
    1 成功后 
    2(默认值) 失败后 
    3 始终 
    [ @notify_level_email = ] email_level用于指明作业完成后何时发送电子邮件的值。email_level 的数据类型为 int,设置为 0,表示成功发送。email_level 和 eventlog_level 使用相同的值。
      

  3.   

    [ @notify_level_netsend = ] netsend_level用于指明作业完成后何时发送网络消息的值。netsend_level 的数据类型为 int,默认设置为 0,表示从不发送。netsend_level 和 eventlog_level 使用相同的值。[ @notify_level_page = ] page_level用于指明作业完成后何时发送呼叫的值。page_level 的数据类型为 int,默认设置为 0,表示从不发送。page_level 和 eventlog_level 使用相同的值。[ @notify_email_operator_name = ] 'email_name'当达到 email_level 时,电子邮件所发送到的人员的电子邮件名称。email_name 的数据类型为 sysname,默认设置为 NULL。[ @notify_netsend_operator_name = ] 'netsend_name'在该作业完成时,将网络消息发送到的操作员的名称。netsend_name 的数据类型为 sysname,默认设置为 NULL。[ @notify_page_operator_name = ] 'page_name'该作业完成时要呼叫的人员的名称。page_name 的数据类型为 sysname,默认设置为 NULL。[ @delete_level = ] delete_level用于指明何时删除作业的值。delete_value 的数据类型为 int,默认设置为 0,表示从不删除。delete_level 和 eventlog_level 使用相同的值。说明  当 delete_level 为 3 时,只执行一次作业,而不管任何为该作业定义的调度如何。而且,如果作业将其自身删除,则该作业的历史也将被删除。
    [ @job_id = ] job_id OUTPUT指派给成功创建的作业的作业标识号。job_id 是 uniqueidentifer 类型的输出变量,默认设置为 NULL。返回代码值
    0(成功)或 1(失败)结果集
      

  4.   

    引用邹建的:--创建作业
    exec msdb..sp_add_job @job_name='作业名称',@delete_level=0--创建作业步骤
    declare @sql varchar(800)
    select @sql='你的sql语句'
     ,@dbname=db_name()exec msdb..sp_add_jobstep @job_name=@jobname,
     @step_name = '发送处理步骤',
     @subsystem = 'TSQL',
     @database_name=@dbname,
     @command = @sql,
     @retry_attempts = 5,   --重试次数
     @retry_interval = 5    --重试间隔--创建调度
    EXEC msdb..sp_add_jobschedule @job_name = @jobname, 
     @name = '时间安排',
     @enabled = 1, 
     @freq_type = 1, 
     @active_start_date = @date,
     @active_start_time = @time-- 添加目标服务器
    EXEC msdb.dbo.sp_add_jobserver 
     @job_name = @jobname ,
     @server_name = N'(local)' 
    go