• 相关软件
    >sp_help_job 创建者:webmaster 更新时间:2006-02-16 15:51

    返回有关 SQLServerAgent 服务用来在 Microsoft® SQL Server™ 中执行自动活动的那些作业的信息。



    语法


    sp_help_job [ [ @job_id = ] job_id ]

        [ , [ @job_name = ] 'job_name' ]

        [ , [ @job_aspect = ] 'job_aspect' ]

        [ , [ @job_type = ] 'job_type' ]

        [ , [ @owner_login_name = ] 'login_name' ]

        [ , [ @subsystem = ] 'subsystem' ]

        [ , [ @category_name = ] 'category' ]

        [ , [ @enabled = ] enabled ]

        [ , [ @execution_status = ] status ]

        [ , [ @date_comparator = ] 'date_comparison' ]

        [ , [ @date_created = ] date_created ]

        [ , [ @date_last_modified = ] date_modified ]

        [ , [ @description = ] 'description_pattern' ]



    参数


    [@job_id =] job_id



    是作业标识号。job_id 的数据类型为 uniqueidentifier,默认值为 NULL。



    [@job_name =] 'job_name'



    是作业的名称。job_name sysname 类型,其默认值为 NULL。



    说明  必须指定 job_idjob_name,但不能两个都指定。



    [@job_aspect =] 'job_aspect'



    是要显示的作业特性。job_aspect 的数据类型为 varchar(9),默认值为 NULL,并且可以是下列值之一。


































    描述
    ALL作业特征信息
    JOB作业信息
    SCHEDULES调度信息
    STEPS作业步骤信息
    TARGETS目标信息



    [@job_type =] 'job_type'



    是报表中要包括的作业类型。job_type 的数据类型为 varchar(12),默认值为 NULL。job_type 可以是 LOCALMULTI-SERVER



    [@owner_login_name =] 'login_name'



    是作业所有者的登录名。login_name 的数据类型为 sysname,默认值为 NULL。



    [@subsystem =] 'subsystem'



    是对子系统的描述。subsystem 的数据类型为 nvarchar(60),默认设置为 NULL。



    [@category_name =] 'category'



    是分类名。category 的数据类型为 sysname,默认值为 NULL。



    [@enabled =] enabled



    是一个数字,表示是显示启用作业的信息,还是显示禁用作业的信息。enabled 的数据类型为 tinyint,默认值为 NULL。1 表示启用的作业,0 表示禁用的作业。



    [@execution_status =] status



    是作业的执行状态。status 的数据类型为 int,默认值为 NULL,而且可以是下列值之一。












































    描述
    0只返回那些空闲的或挂起的作业。
    1正在执行。
    2正在等待线程。
    3在两次重试之间。
    4空闲。
    5挂起。
    7正在执行完成操作。



    [@date_comparator =] 'date_comparison'



    是在 date_createddate_modified 的比较中所使用的比较运算符。date_comparison 的数据类型为 char(1),并且可以是 =、< 或 >。



    [@date_created =] date_created



    是创建作业的日期。date_created 的数据类型为 datetime,默认值为 NULL。



    [@date_last_modified =] date_modified



    是最后修改作业的日期。date_modified 的数据类型为 datetime,默认值为 NULL。



    [@description =] 'description_pattern'



    是作业的描述。description_pattern 的数据类型为 nvarchar(512),默认值为 NULL。description_pattern 可以包含 SQL Server 通配符,以实现模式匹配。



    返回代码值


    0(成功)或 1(失败)



    结果集


    如果没有指定参数,那么 sp_help_job 返回下面的结果集。










































































































































































































    列名数据类型描述
    job_iduniqueidentifier作业的唯一 ID。
    originating_servernvarchar(30)作业来自的服务器名称。
    namesysname作业的名称。
    enabledtinyint表示是否启用待执行的作业。
    descriptionnvarchar(512)对作业的描述。
    start_step_idint执行作业的起始步骤 ID。
    categorysysname作业分类。
    ownersysname作业所有者。
    notify_level_eventlogint位掩码,它表示在何种情况下通知事件应记录到 Microsoft Windows NT® 应用程序日志中。可以是下列值之一:

    0 = 从不

    1 = 当作业成功时

    2 = 当作业失败时

    3 = 当作业完成时(无论作业结果如何)


    notify_level_emailint位掩码,它指明当作业完成时,在什么情况下应该发送一个提示电子邮件。可能值与 notify_level_eventlog 的可能值相同。
    notify_level_netsendint位掩码,它指明当作业完成时,在什么情况下应该发送一个网络消息。可能值与 notify_level_eventlog 的可能值相同。
    notify_level_pageint位掩码,它指明当作业完成时,在什么情况下应该发送一个呼叫。可能值与 notify_level_eventlog 的可能值相同。
    notify_email_operatorsysname要通知的操作员的电子邮件名称。
    notify_netsend_operatorsysname当发送网络消息时,所使用的计算机或用户的名称。
    notify_page_operatorsysname当发送寻呼时,所使用的计算机或用户的名称。
    delete_levelint位掩码,它指明当作业完成时,在什么情况下应该删除作业。可能值与 notify_level_eventlog 的可能值相同。
    date_createddatetime作业的创建日期。
    date_modifieddatetime上次修改作业的日期。
    version_numberint作业的版本(每次修改作业时都自动对其进行更新)。
    last_run_dateint作业上一次开始执行的日期。
    last_run_timeint作业上一次开始执行的时间。
    last_run_outcomeint作业上一次运行时所得到的结果:

    0 = 失败

    1 = 成功

    3 = 取消

    5 = 未知


    next_run_dateint调度作业下一次运行的日期。
    next_run_timeint调度作业下一次运行的时间。
    next_run_schedule_idint下一个运行的调度的标识号。
    current_execution_statusint当前的执行状态。
    current_execution_stepsysname作业中当前的执行步骤。
    current_retry_attemptint如果作业正在运行,并且已经重试过该步骤,那么这就是当前的重试尝试。
    has_stepint作业具有的作业步骤的个数。
    has_scheduleint作业具有的作业调度的个数。
    has_targetint作业具有的目标服务器的个数。
    Typeint1 = 本地作业。

    2 = 多服务器作业。

    0 = 作业没有目标服务器。



    如果指定了 job_idjob_name,那么 sp_help_job 针对作业步骤、作业调度及作业目标服务器返回下面这些额外的结果集。



    下面是针对作业步骤的结果集。














































































































































    列名数据类型描述
    step_idint步骤的唯一(是针对该作业的)标识符。
    step_namesysname步骤的名称。
    Subsystemnvarchar(40)子系统,在该子系统中执行步骤命令。
    Commandnvarchar(3200)执行的命令。
    Flagsnvarchar(4000)控制步骤行为的值的位掩码。
    cmdexec_success_codeint对于CmdExec 步骤,这是成功命令的进程退出代码。
    on_success_actionnvarchar(4000)步骤成功时的操作:

    1 = 成功后退出。

    2 = 失败后退出。

    3 = 转到下一步。

    4 = 转至步骤。


    on_success_step_idint如果 on_success_action 为 4,即指明下一步执行步骤 4。
    on_fail_actionnvarchar(4000)步骤失败时所采取的操作。值与 on_success_action 的值相同。
    on_fail_step_idint如果 on_fail_action 为 4,即指明下一步执行步骤 4。
    Serversysname保留。
    database_namesysname对于 Transact=SQL 步骤,这是将要在其中执行命令的数据库。
    database_user_namesysname对于 Transact=SQL 步骤,这是数据库用户上下文,命令将在这个数据库用户上下文中执行。
    retry_attemptsint在将步骤认定为已经失败之前,应该对命令进行重试的最大次数(如果命令没有成功)。
    retry_intervalint两次重试尝试之间的间隔(以分钟为单位)。
    os_run_priorityvarchar(4000)保留。
    output_file_namevarchar(200)应该将命令的输出写入到其中的文件(只针对 Transact=SQL 及 CmdExec 步骤)。
    last_run_outcomeint步骤上一次运行的结果:

    0 = 失败

    1 = 成功

    3 = 取消

    5 = 未知


    last_run_durationint步骤上一次运行的持续时间(以秒为单位)。
    last_run_retriesint步骤上一次运行时,命令进行重试的次数。
    last_run_dateint步骤上一次开始执行的日期。
    last_run_timeint步骤上一次开始执行的时间。



    下面是针对作业调度的结果集。
















































































































    列名数据类型描述
    schedule_idint调度的标识符(对所有作业是唯一的)。
    schedule_namesysname调度的名称(只对这个作业是唯一的)。
    Enabledint指明调度是活动的 (1) 还是不活动的 (0)。
    freq_typeint指明何时执行作业的值:

    1 = 一次

    4 = 每日一次

    8 = 每周一次

    16 = 每月一次

    32 = 每月一次,与 freq_interval 相关

    64 = 在 SQLServerAgent 服务启动时运行。


    freq_intervalint执行作业的日子。该值依赖于 freq_type 的值。有关更多信息,请参见 sp_add_jobschedule
    freq_subday_typeintfreq_subday_interval 的单位。有关更多信息,请参见 sp_add_jobschedule
    freq_subday_intervalint在作业的每次执行之间所发生的 freq_subday_type 的周期个数。有关更多信息,请参见 sp_add_jobschedule
    freq_relative_intervalint在每个月中,freq_interval 的已调度作业的发生情况。有关更多信息,请参见 sp_add_jobschedule
    freq_recurrence_factorint作业的已调度执行日期之间的间隔月数。
    active_start_dateint开始执行作业的日期。
    active_end_dateint结束执行作业的日期。
    active_start_timeintactive_start_date 那一天,开始执行作业的时间。
    active_end_timeintactive_end_date 那一天,结束执行作业的时间。
    date_createddatetime创建调度的日期。
    schedule_descriptionnvarchar(4000)对调度的英语描述(如果需要的话)。
    next_run_dateint调度下一次引发作业运行的日期。
    next_run_timeint调度下一次引发作业运行的时间。



    下面是针对目标服务器的结果集。
































































    列名数据类型描述
    server_idint目标服务器的标识符。
    server_namenvarchar(30)目标服务器的计算机名称。
    enlist_datedatetime将目标服务器登记到主服务器 (MSX) 的日期。
    last_poll_datedatetime目标服务器上一次轮询 MSX 的日期。
    last_run_dateint在这个目标服务器上,作业上一次开始执行的日期。
    last_run_timeint在这个目标服务器上,作业上一次开始执行的时间。
    last_run_durationint作业上一次在这个目标服务器上运行的持续时间。
    last_run_outcometinyint作业上一次在这个服务器上运行的结果:

    0 = 失败

    1 = 成功

    3 = 取消

    5 = 未知


    last_outcome_messagenvarchar(1024)作业上一次在这个目标服务器上运行时的结果消息。



    权限


    执行权限默认授予 msdb 数据库中的 public 角色。可以执行该过程的用户和 sysadmin 固定角色成员的用户都可以对下列内容进行创建、删除或更新操作:作业、作业步骤、作业分类、作业调度、作业服务器、任务或作业历史信息。



    sysadmin 固定角色成员的用户可使用 sp_help_job 只查看自己的作业。



    当由 sysadmin 固定服务器角色成员的用户唤醒调用 sp_help_job 时,将在运行 SQL Server 服务的安全上下文中执行 sp_help_job。当用户不是 sysadmin 组的成员时,sp_help_job 将模拟 SQL Server 代理的代理帐户,该帐户是使用 xp_sqlagent_proxy_account 指定的。如果代理帐户不可用,则 sp_help_job 将失败。仅对于 Microsoft® Windows NT® 4.0 和 Windows 2000 才如此。在 Windows 9.x 上无模拟,并且始终在启动 Windows 9.x 的用户的安全上下文中执行 sp_help_job



    示例


    A. 列出所有作业的信息


    下面的示例执行不带参数的 sp_help_job 过程,从而为当前在 msdb 数据库中定义的所有作业返回信息。



    USE msdb
    EXEC sp_help_job


    B. 列出特定作业的信息


    下面的示例列出了名为 Archive Tables 的多服务器作业的所有作业特征信息,该作业在其中启用,并且自创建以来已经被更改。



    USE msdb
    EXEC sp_help_job NULL, 'Archive Tables', 'ALL', 'MULTI-SERVER', 'janetl',
      NULL, NULL, 1, 1, '<', '12/01/97', '6/25/98', NULL
    相关文章
    本页查看次数: