设为首页 收藏本站
查看: 1055|回复: 0

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

[复制链接]

尚未签到

发表于 2016-11-11 07:04:41 | 显示全部楼层 |阅读模式

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-298581-1-1.html 上篇帖子: sql的大全代码(2) 下篇帖子: sql 2005 express无法远程访问
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表