`
huanghuaibin
  • 浏览: 69400 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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

    博客分类:
  • SQL
阅读更多

sp_help_job

返回有关 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。

<!--NOTE-->

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

<!--/NOTE-->

 

[@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_id uniqueidentifier 作业的唯一 ID。
originating_server nvarchar(30) 作业来自的服务器名称。
name sysname 作业的名称。
enabled tinyint 表示是否启用待执行的作业。
description nvarchar(512) 对作业的描述。
start_step_id int 执行作业的起始步骤 ID。
category sysname 作业分类。
owner sysname 作业所有者。
notify_level_eventlog int 位掩码,它表示在何种情况下通知事件应记录到 Microsoft Windows NT® 应用程序日志中。可以是下列值之一:

0 = 从不
1 = 当作业成功时
2 = 当作业失败时
3 = 当作业完成时(无论作业结果如何)

notify_level_email int 位掩码,它指明当作业完成时,在什么情况下应该发送一个提示电子邮件。可能值与 notify_level_eventlog 的可能值相同。
notify_level_netsend int 位掩码,它指明当作业完成时,在什么情况下应该发送一个网络消息。可能值与 notify_level_eventlog 的可能值相同。
notify_level_page int 位掩码,它指明当作业完成时,在什么情况下应该发送一个呼叫。可能值与 notify_level_eventlog 的可能值相同。
notify_email_operator sysname 要通知的操作员的电子邮件名称。
notify_netsend_operator sysname 当发送网络消息时,所使用的计算机或用户的名称。
notify_page_operator sysname 当发送寻呼时,所使用的计算机或用户的名称。
delete_level int 位掩码,它指明当作业完成时,在什么情况下应该删除作业。可能值与 notify_level_eventlog 的可能值相同。
date_created datetime 作业的创建日期。
date_modified datetime 上次修改作业的日期。
version_number int 作业的版本(每次修改作业时都自动对其进行更新)。
last_run_date int 作业上一次开始执行的日期。
last_run_time int 作业上一次开始执行的时间。
last_run_outcome int 作业上一次运行时所得到的结果:

0 = 失败
1 = 成功
3 = 取消
5 = 未知

next_run_date int 调度作业下一次运行的日期。
next_run_time int 调度作业下一次运行的时间。
next_run_schedule_id int 下一个运行的调度的标识号。
current_execution_status int 当前的执行状态。
current_execution_step sysname 作业中当前的执行步骤。
current_retry_attempt int 如果作业正在运行,并且已经重试过该步骤,那么这就是当前的重试尝试。
has_step int 作业具有的作业步骤的个数。
has_schedule int 作业具有的作业调度的个数。
has_target int 作业具有的目标服务器的个数。
Type int 1 = 本地作业。
2 = 多服务器作业。
0 = 作业没有目标服务器。

 

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

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

列名 数据类型 描述
step_id int 步骤的唯一(是针对该作业的)标识符。
step_name sysname 步骤的名称。
Subsystem nvarchar(40) 子系统,在该子系统中执行步骤命令。
Command nvarchar(3200) 执行的命令。
Flags nvarchar(4000) 控制步骤行为的值的位掩码。
cmdexec_success_code int 对于CmdExec 步骤,这是成功命令的进程退出代码。
on_success_action nvarchar(4000) 步骤成功时的操作:

1 = 成功后退出。
2 = 失败后退出。
3 = 转到下一步。
4 = 转至步骤。

on_success_step_id int 如果 on_success_action 为 4,即指明下一步执行步骤 4。
on_fail_action nvarchar(4000) 步骤失败时所采取的操作。值与 on_success_action 的值相同。
on_fail_step_id int 如果 on_fail_action 为 4,即指明下一步执行步骤 4。
Server sysname 保留。
database_name sysname 对于 Transact=SQL 步骤,这是将要在其中执行命令的数据库。
database_user_name sysname 对于 Transact=SQL 步骤,这是数据库用户上下文,命令将在这个数据库用户上下文中执行。
retry_attempts int 在将步骤认定为已经失败之前,应该对命令进行重试的最大次数(如果命令没有成功)。
retry_interval int 两次重试尝试之间的间隔(以分钟为单位)。
os_run_priority varchar(4000) 保留。
output_file_name varchar(200) 应该将命令的输出写入到其中的文件(只针对 Transact=SQL 及 CmdExec 步骤)。
last_run_outcome int 步骤上一次运行的结果:

0 = 失败
1 = 成功
3 = 取消
5 = 未知

last_run_duration int 步骤上一次运行的持续时间(以秒为单位)。
last_run_retries int 步骤上一次运行时,命令进行重试的次数。
last_run_date int 步骤上一次开始执行的日期。
last_run_time int 步骤上一次开始执行的时间。

 

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

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

1 = 一次
4 = 每日一次
8 = 每周一次
16 = 每月一次
32 = 每月一次,与 freq_interval 相关
64 = 在 SQLServerAgent 服务启动时运行。

freq_interval int 执行作业的日子。该值依赖于 freq_type 的值。有关更多信息,请参见 sp_add_jobschedule
freq_subday_type int freq_subday_interval 的单位。有关更多信息,请参见 sp_add_jobschedule
freq_subday_interval int 在作业的每次执行之间所发生的 freq_subday_type 的周期个数。有关更多信息,请参见 sp_add_jobschedule
freq_relative_interval int 在每个月中,freq_interval 的已调度作业的发生情况。有关更多信息,请参见 sp_add_jobschedule
freq_recurrence_factor int 作业的已调度执行日期之间的间隔月数。
active_start_date int 开始执行作业的日期。
active_end_date int 结束执行作业的日期。
active_start_time int active_start_date 那一天,开始执行作业的时间。
active_end_time int active_end_date 那一天,结束执行作业的时间。
date_created datetime 创建调度的日期。
schedule_description nvarchar(4000) 对调度的英语描述(如果需要的话)。
next_run_date int 调度下一次引发作业运行的日期。
next_run_time int 调度下一次引发作业运行的时间。

 

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

列名 数据类型 描述
server_id int 目标服务器的标识符。
server_name nvarchar(30) 目标服务器的计算机名称。
enlist_date datetime 将目标服务器登记到主服务器 (MSX) 的日期。
last_poll_date datetime 目标服务器上一次轮询 MSX 的日期。
last_run_date int 在这个目标服务器上,作业上一次开始执行的日期。
last_run_time int 在这个目标服务器上,作业上一次开始执行的时间。
last_run_duration int 作业上一次在这个目标服务器上运行的持续时间。
last_run_outcome tinyint 作业上一次在这个服务器上运行的结果:

0 = 失败
1 = 成功
3 = 取消
5 = 未知

last_outcome_message nvarchar(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
分享到:
评论

相关推荐

    sql sp_help

    `sql sp_help` 是一个非常实用的 Transact-SQL 存储过程,它提供有关 SQL Server 数据库中各种对象的详细信息。对于初学者来说,它是一个很好的学习工具,可以帮助理解表的结构、属性和数据类型。下面我们将深入探讨...

    cn_sql_server_2012_enterprise_edition_with_sp1_x64_dvd_1234495.iso

    《SQL Server 2012企业版:数据库管理与优化的旗舰级解决方案》 SQL Server 2012是微软公司推出的一款强大的关系型数据库管理系统(RDBMS),特别是其企业版,集成了广泛的功能和高级特性,为大型企业和组织提供了...

    cn_sql_server_2012_enterprise_edition_with_sp1_x64下载地址.txt

    cn_sql_server_2012_enterprise_edition_with_sp1_x64_dvd_1234495.iso sqlserver2012完整版数据库下载

    SQL Server EXEC和sp_executesql的区别

    `sp_executesql`还支持输出参数,这意味着可以在执行动态SQL后获取结果集之外的信息。例如: ```sql DECLARE @sql NVARCHAR(MAX); DECLARE @OrderID INT; DECLARE @RowCount INT OUTPUT; SET @OrderID = 10251; SET ...

    在SQL Server实例之间传输登录和密码

    在SQL Server 2000的管理工具中创建一个新的DTS包,添加“传输登录任务”,并配置源服务器、目标服务器以及登录信息。值得注意的是,如果目标服务器是64位版本的SQL Server 2000,DTS组件将不可用。此外,如果登录...

    sql agent sql 代理操作手册

    SQL Server Agent 是一种 Windows 服务,主要负责在 SQL Server 上执行计划任务。这些任务可以包括但不限于备份数据库、执行存储过程或脚本等。由于 SQL Server 的用户权限仅限于 SQL Server 范围内,因此当任务需要...

    SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别.doc

    在SQL Server中,动态执行SQL语句有两个主要的命令:`EXEC`和`SP_EXECUTESQL`。两者都用于在运行时执行SQL语句,但它们之间存在显著的区别。 一、EXEC `EXEC`命令可以执行存储过程或者动态SQL语句。当我们需要执行...

    Sql Server 2014 安装包

    SQL Server 2014是微软推出的一款关系型数据库管理系统,它在企业级数据管理和分析领域扮演着重要的角色。此安装包包含两个主要组件:SQL Management Studio和SQL Server Express。 1. **SQL Management Studio ...

    Microsoft SQL Server 2008 R2 SP3 简体中文功能包.rar

    Microsoft® SQL Server® 2008 R2 SP3 功能包是为 Microsoft® SQL Server® 2008 R2 提供附加值的独立包的集合。 提供的包含有下列软件的最新版本: Microsoft® SQL Server® 2008 R2 SP3 可再发行组件 ...

    sql server自动备份

    - 在SQL Server Configuration Manager中可以找到并启动SQL Server Agent服务。 #### 三、调用系统存储过程方法 1. **使用系统存储过程`sp_add_job`和`sp_add_jobstep`**: - `sp_add_job`用于创建一个新的作业...

    错误22022 SQLServerAgent当前未运行的解决方法

    在SQL Server环境中,SQLServerAgent是一项非常重要的服务,它负责执行计划的任务,如定期备份、维护计划、警报以及作业等。当用户尝试启动SQL作业时,如果出现“错误22022:SQLServerAgent当前未运行,因此,无法就...

    SQL Server阻止了对组件xp_cmdshell过程的解决方案.docx

    在SQL Server中,`xp_cmdshell`是一个非常特殊的扩展存储过程,它允许数据库管理员(DBA)在服务器级别执行操作系统命令。这个过程的强大之处在于它能够直接与Windows操作系统进行交互,比如创建文件、运行批处理...

    Microsoft SQL Server 2005 Express Edition SP3

    未及时包括在本自述文件中的任何有关 SQL Server 2005 和 SQL Server Express 的信息都将发布到 Microsoft 知识库文章 907284 中。 [顶部] 3.0 安装问题 本部分详细介绍此版本中的安装问题。 3.1 现有的 SQL ...

    SQL Server 2000定时计划job

    在SQL Server 2000中,定时计划job是一项重要的管理功能,允许用户安排自动执行的任务,例如数据清理。在上述场景中,我们利用这个特性来实现对离港信息表dyndepflt的定期维护,确保数据库保持高效运行并节省存储...

    SQL Server2005 SP4

    SQL Server 2005 SP4(Service Pack 4)是微软针对其关系型数据库管理系统SQL Server 2005发布的一个重要更新。这个服务包包含了大量的修复程序、安全更新和性能优化,旨在提高SQL Server 2005的稳定性和安全性。SP4...

    sqlServer执行存储过程报错:42000,执行该sql即可

    sqlServer执行存储过程报错:42000 - [SQL Server]SQL Server 阻止了对组件“Ole Automation Procedures”的 过程“sys.sp_OACreate”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以...

    SQL Server创建作业流程

    在SQL Server中,通过创建作业可以实现定时执行特定的任务,比如定期备份数据库、清理日志、执行数据同步等操作。这不仅可以提高系统的自动化程度,还能确保关键任务按照预定的时间表执行。 #### 二、创建作业的...

    Microsoft SQL Server Compact 4.0 SP1

    **Microsoft SQL Server Compact 4.0 SP1** 是微软推出的一款轻量级、嵌入式数据库引擎,适用于桌面和移动应用程序。SQL Server Compact (简称 SQL CE) 提供了与 SQL Server 相似的功能,但无需独立服务器环境,使得...

    Microsoft SQL Server 2008 R2 SP1 Native Client

    Microsoft SQL Server 2008 Native Client (SQL Server Native Client) 是单一动态链接库 (DLL),其中包含 SQL OLE DB 提供者和 SQL ODBC 驱动程序。此链接库针对使用机器码 API (ODBC、OLE DB 和 ADO) 的应用程序...

Global site tag (gtag.js) - Google Analytics