企业管理器-》管理-》sql server服务代理-》作业

解决方案 »

  1.   

    sp_add_jobschedule
    创建作业调度。语法
    sp_add_jobschedule [ @job_id = ] job_id, | [ @job_name = ] 'job_name',
        [ @name = ] 'name'
        [ , [ @enabled = ] enabled ]
        [ , [ @freq_type = ] freq_type ]
        [ , [ @freq_interval = ] freq_interval ]
        [ , [ @freq_subday_type = ] freq_subday_type ]
        [ , [ @freq_subday_interval = ] freq_subday_interval ]
        [ , [ @freq_relative_interval = ] freq_relative_interval ]
        [ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]
        [ , [ @active_start_date = ] active_start_date ]
        [ , [ @active_end_date = ] active_end_date ]
        [ , [ @active_start_time = ] active_start_time ]
        [ , [ @active_end_time = ] active_end_time ]参数
    [ @jobid = ] job_id将向其中添加调度的作业的作业标识号。job_id 的数据类型为 uniqueidentifier,默认设置为 NULL。[ @job_name = ] 'job_name'作业的名称,调度即添加到该作业中。job_name 的数据类型为 sysname,默认设置为 NULL。说明  必须指定 job_id 或 job_name,但不能两个都指定。
    [ @name = ] 'name'调度的名称。name 的数据类型为 sysname,没有默认设置。[ @enabled = ] enabled指明调度的当前状态。enabled 的数据类型为 tinyint,默认设置为 1(启用)。如果为 0,则不启用调度。禁用该调度时,不运行作业。[ @freq_type = ] freq_type用于指明何时将执行作业的值。freq_type 的数据类型为 int,默认设置为 0,可以是下列值之一。值 描述 
    1 一次 
    4 每天 
    8 每周 
    16 每月 
    32 每月,与 freq interval 相关 
    64 当 SQLServerAgent 服务启动时运行 
    128 计算机空闲时运行 
    [ @freq_interval = ] freq_interval作业执行的天数。freq_interval 的数据类型为 int,默认设置为 0,依赖于 freq_type 的值。 freq_type 的值 对 freq_interval 的影响 
    1(一次) 未使用 freq_interval。 
    4(每天) 每个 freq_interval 日。 
    8(每周) freq_interval 为下面的一个或多个值(与 OR 逻辑运算符结合使用): 
    1 = 星期日
    2 = 星期一
    4 = 星期二
    8 = 星期三
    16 = 星期四
    32 = 星期五
    64 = 星期六
     
    16(每月) 每月的 freq_interval 日。 
    32(每月相对) freq_interval 为下列值之一: 
    1 = 星期日 
    2 = 星期一 
    3 = 星期二 
    4 = 星期三 
    5 = 星期四 
    6 = 星期五 
    7 = 星期六 
    8 = 日 
    9 = 工作日
    10 = 周末
     
    64(当 SQLServerAgent 服务启动时) 未使用 freq_interval。 
    128 未使用 freq_interval。 
    [ @freq_subday_type = ] freq_subday_type指定 freq_subday_interval 的单位。freq_subday_type 为 int 类型,其默认值为 0,且可以取下列值之一。值 描述(单位) 
    0x1 在指定的时间 
    0x4 分钟 
    0x8 小时 
    [ @freq_subday_interval = ] freq_subday_interval作业每次执行之间要出现的 freq_subday_type 周期数。freq_subday_interval 的数据类型为 int,默认设置为 0。[ @freq_relative_interval = ] freq_relative_interval如果 freq_interval 是 32(每月相对),则为每月中已调度作业的 freq_interval 的发生情况。freq_relative_interval 的数据类型为 int,默认设置为 0,可以是下列值之一。值 描述(单位) 
    1 第一页 
    2 秒 
    4 第三个 
    8 第四个 
    16 最后一页 
    [ @freq_recurrence_factor = ] freq_recurrence_factor作业的已调度执行之间的周数或月数。只有当 freq_type 是 8、16 或 32 时,才使用 freq_recurrence_factor。freq_recurrence_factor 的数据类型为 int,默认设置为 0。[ @active_start_date = ] active_start_date作业可开始执行的日期。active_start_date 的数据类型为 int,默认设置为 NULL,该值表示当天的日期。日期的格式为 YYYYMMDD。如果 active_start_date 不为 NULL,则日期必须大于或等于 19900101。[ @active_end_date = ] active_end_date作业可停止执行的日期。active_end_date 的数据类型为 int,默认设置为 99991231,该值表示 9999 年 12 月 31 日。格式为 YYYYMMDD。[ @active_start_time = ] active_start_time在 active_start_date 和 active_end_date 之间的任何一天开始执行作业的时间。active_start_time 的数据类型为 int,默认设置为 000000,该值表示 24 小时制的上午 12:00:00,并且必须使用格式 HHMMSS 进行输入。[ @active_end_time = ] active_end_time在 active_start_date 和 active_end_date 之间的任何一天停止执行作业的时间。active_end_time 的数据类型为 int,默认设置为 235959,该值表示 24 小时制的下午 11:59:59,并且必须使用格式 HHMMSS 进行输入。返回代码值
    0(成功)或 1(失败)结果集
    无注释
    SQL Server 企业管理器提供易于使用的图形方法来管理作业,建议使用该方法创建和管理作业基本结构。权限
    执行权限默认授予 public 角色。示例
    此示例假设已经创建用来备份数据库的 NightlyBackup 作业。它将作业添加到名为 ScheduledBackup 的调度中,并且在每天上午 1:00 执行。USE msdb
    EXEC sp_add_jobschedule @job_name = 'NightlyBackup', 
       @name = 'ScheduledBackup',
       @freq_type = 4, -- daily
       @freq_interval = 1,
       @active_start_time = 10000
      

  2.   

    企业管理器-》管理-》sql server服务代理-》作业->添加一个作业-〉
    选执行存储过程——〉调度。。
    按着向导做,很简单的
      

  3.   

    企业管理器-》管理-》sql server服务代理-》作业->添加一个作业-〉
    选执行存储过程——〉调度。。
      

  4.   

    作业是指被定义的多步执行的任务每一步都是可能执行的Transact-SQL 语句代表
    一个任务作业是典型的规划任务和自动执行任务数据库的备份和恢复数据的复制
    数据的导入/导出等都可以被定义成作业然后在规划的时间由SQL Server Agent 来自动
    完成创建一个作业的执行步骤为
    1 启动SQL Server Enterprise Manager 登录到指定的服务器分别顺次单击
    management SQL Server Agent 左边的+ 如果SQL Server Agent 没
    有启动请启动
    2 右击Jobs 图标在弹出菜单中选择New Job 选项打开New Job Properties
    对话框如图17-8 所示
    图17-8 New Job Properties 对话框– General 标签页
    在该对话框内通过选择不同的标签页来设置作业的属性每个作业都包括以下属性
    Name Category Owner Description Job steps Schedules Notifications
    3 在General 标签页定义了作业的Name Category Owner Description 属性
    各选项含义如下
      Name 是指作业的名称同一台服务器上的作业名必须是惟一的其最大长度
    为128 个字符
      Category 表示作业目录可以将那些具有某些共同点的作业归至同一作业目录

      Owner 表示作业的所有者sysadmin 角色用户可以改变作业的所有者
      Description 表示对作业的描述信息最大长度为512 个字符
      Last modified 表示作业上一次修改的时间如果是新创建的作业则为Not
    Applicable
      Enabled 表示作业有效否则必须手工启动
      Source 用来显示作业是在哪台服务器上创建的
      Target local server 表示作业在本地服务器上运行
      Target Multiple server 表示在多个过程服务器上运行
    4 选择Steps 标签然后单击New 按钮打开New Job Steps 对话框如图17-
    9 所示General 标签页内各选项的含义如下
    图17-9 New Job Steps 对话框– General 标签页
      Step name 步骤名称其长度不超过128 个字符一个作业内的步骤名必须惟一
      Type 步骤的类型该下拉框内各选项的含义分别为
    ?Active Script 运行一个脚本语言程序
    ?Operation System Command (Cmd Exec) 执行.exe .cmd .bat 文件
    ?Replication Distributor 定义复制分发命令
    ?Replication Transaction Log Reader 定义复制日志阅读器命令
    ?Replication Merge 定义复制合并命令
    ?Replication Snapshot 定义复制快照命令
    ?Replication Transact-SQL Script (TSQL) 执行TSQL 语句命令
      Database 当作业步骤类型为TSQL 时所使用的数据库
      Command 该作业步骤要执行的命令
    5 选择New Job Steps 对话框的Advanced 标签页如图17-10 所示其中各选
    项的含义为
      On success Action 定义该步骤成功执行后将执行的活动其中下拉框中的各选
    项的含义分别为
    ?Quit the Job Reporting Success 如果成功则结束作业
    ?Quit the Job Reporting Failure 如果失败则结束作业
    ?Goto the Next Step 让SQL Server Agent 去执行下一步
    ?Goto Step N 让SQL Server Agent 执行第N 步
    图17-10 New Job Steps 对话框– Advanced 标签页
      Retry Attempts 如果该步执行失败则重新执行的次数
      Retry Interval 在重新执行前等待的时间
      On Failure Action 定义该步骤执行失败后将执行的活动
      Output File 存储该步骤执行结果的文件
      Run as User 允许系统管理员以另外的用户身份来执行这一步作业
    6 选择Schedules 标签页然后单击New Schedule 按钮如图17-11 所示其
    中各选项含义分别为
    图17-11 New Job Schedule 对话框
      Name 日程表的名称在Schedule Type 选项区设置作业执行的频率和时间
      Start automatically when SQL Server Agent Start 表示在SQL Server Agent Start 启
    动时执行该作业
      Start whenever the CPU(s) become idle 表示在CPU 空闲时执行该作业在缺省
    情况下空闲的含义是指CPU 的利用率低于10% 持续时间为6 分钟可在SQL
    Server Agent Properties 对话框的Advance 标签页进行设置
      One time 该作业执行一次
      Recuring 按一定时间间隔执行该作业
    如果选择Recurring 选项则可单击Change 按钮打开Edit Recurring Job Schedule 对
    话框如图17-12 所示在该对话框中设置作业的日程表
    图17-12 Edit Recurring Job Schedule 对话框
    7 返回New Job Properties 对话框选择Notifications 标签页如图17-13 所示
    其中各选项的含义为
    图17-13 New Job Properties 对话框- Notifications 标签页
      E-mail operator 在作业完成时表示以电子邮件方式通知操作员在右面的下拉
    框中选择操作员
      Page operator 在作业完成时以寻呼方式通知操作员在右面的下拉框中选择操
    作员
      Net send operator 在作业完成时通过网络发送网络信息通知操作员在右面的下
    拉框中选择操作
      Write to Windows NT application event log 在作业完成时将完成的作业写入NT
    应用事件日志
      Automatically delete Job 在作业完成时自动删除该作业
    8 单击确定按钮完成作业的创建
      

  5.   

    有机子有连接多台SQL SERVER 服务器,为什么网络上的SQL SERVER 数据库的 SQL Server Agent 按Start都不能启动,可是我本地SQL Server Agent的能够启动?
      

  6.   

    EXEC sp_add_job @job_name = 'test'
    EXEC sp_add_jobstep @job_name = 'test',
       @step_name = 'test_1',
       @subsystem = 'TSQL',
       @command = 'update yourtable set yourcol=0', /*这是你每次想执行的东西*/
       @retry_attempts = 5,
       @retry_interval = 5
    EXEC sp_add_jobschedule @job_name = 'test', 
       @name = 'Schedule_test',
       @freq_type = 16, -- daily
       @freq_interval = 26,
       @active_start_time = 10000sp_add_jobschedule    
    @job_id  =  @JobID,    
    @name  =  N'ff',    
    @enabled  =  1,    
    @freq_type  =  4,  --每天  
    @active_start_date  =  20021212,  --开始日期  
    @active_start_time  =  0,  --开始时刻  
    @freq_interval  =  1,  --子周期  
    @freq_subday_type  =  8,  --单位是小时  
    @freq_subday_interval  =  10,  --10小时  
    @freq_relative_interval  =  0,    
    @freq_recurrence_factor  =  0,    
    @active_end_date  =  99991231,  
    @active_end_time  =  235959EXEC sp_add_job @job_name = '作业名字'
    EXEC sp_add_jobstep @job_name = '作业名字',
       @step_name = '步骤名子',
       @subsystem = 'TSQL',
       @command = 'EXEC master..xp_cmdshell ''c:\你的exe文件''', 
       @retry_attempts = 5, --重试次数
       @retry_interval = 5  --重试间隔EXEC sp_add_jobschedule @job_name = '作业名字', 
       @name = '作业调度名字',
       @freq_type = 4, -- 每天
       @freq_interval = 26, --间隔
       @active_start_time = 10000 --开始时间