作业是由 SQL Server 代理程序按顺序执行的一系列指定的操作。作业可以执行更广泛的活动,包括运行 Transact-SQL 脚本、命令行应用程序和 ActiveX 脚本。可以创建作业来执行经常重复和可调度的任务,并且作业可产生警报以通知用户作业的状态。

解决方案 »

  1.   

    如何创建作业(企业管理器)
    创建作业 展开服务器组,然后展开服务器。
    展开"管理",然后展开"SQL Server 代理程序"。
    右击"作业",然后单击"新建作业"命令。
    在"名称"框中输入作业的名称。
    如果不希望作业在创建后立即运行,则清除"启用"复选框。例如,如果要在按计划运行之前测试某个作业,则禁用该作业。
    在"源"下执行下列操作之一: 
    单击"以本地服务器为目标"选项(如果作业仅在此服务器上运行)。如果选择该选项,则跳到第 9 步。
    单击"以多个服务器为目标"选项(如果作业在其它服务器上运行)。然后单击"更改"。 
    只有服务器是主服务器时,才启用此选项。在"更改作业的目标服务器"对话框中,在"可用服务器"选项卡上单击某台服务器,然后单击向右箭头将该服务器移动到"选定的目标服务器"列表中。
    单击"确定"按钮返回"新建作业属性"对话框。
    在"所有者"列表中选择将成为作业所有者的用户。 
    在"描述"框中输入对作业功能的描述。最大字符数为 512。  
    重要  每个作业至少要有一个步骤。必须先为作业创建一个步骤后,作业才可以保存。
      

  2.   

    企业管理器
    --管理
    --SQL Server代理
    --右键作业
    --新建作业
    --"常规"项中输入作业名称
    --"步骤"项
    --新建
    --"步骤名"中输入步骤名
    --"类型"中选择"Transact-SQL 脚本(TSQL)"
    --"数据库"选择执行命令的数据库
    --"命令"中输入要执行的语句
    --确定
    --"调度"项
    --新建调度
    --"名称"中输入调度名称
    --"调度类型"中选择你的作业执行安排
    --如果选择"反复出现"
    --点"更改"来设置你的时间安排
      

  3.   

    --上面是向导方式,下面是SQL语句--创建作业
    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_jobschedule  @job_name = '数据处理',
    @name = N'时间安排', 
    @freq_type = 8, 
    @freq_interval = 8, 
    @freq_subday_type = 1, 
    @freq_subday_interval = 1, 
    @freq_relative_interval = 0, 
    @freq_recurrence_factor = 1--月调度
    EXEC msdb.dbo.sp_add_jobschedule  @job_name = '数据处理',
    @name = N'时间安排', 
    @freq_type = 16, 
    @active_start_time = 000000, --0点开始执行
    @freq_interval = 1,  --在每个月的1号执行
    @freq_subday_type = 1, 
    @freq_subday_interval = 1, 
    @freq_relative_interval = 0, 
    @freq_recurrence_factor = 1
      

  4.   

    注意,设置了JOB(作业)后,一定要将SQL Agent服务设置为自动启动,否则你的作业不会被执行.