sql server 2008查询作业所花费时间(亲自实践)

今天被问到服务器上制定的作业,运行都需要多长时间

查了查,从工作log中看不出来,于是上网搜索了一番.

关键涉及到SQL Server中的2个表 msdb.dbo.sysjobsmsdb 和 .dbo.sysjobhistory

参见:http://technet.microsoft.com/zh-cn/library/ms189817(v=sql.90).aspx 

sysjobs

存储将由 SQL Server 代理执行的各个预定作业的信息。此表存储在 msdb 数据库中。

列名 数据类型 说明

job_id

uniqueidentifier

作业的唯一 ID。

originating_server_id

int

发出作业的服务器的 ID。

name

sysname

作业的名称。

enabled

tinyint

指示是否启用要执行的作业。

description

nvarchar(512)

对作业的说明。

start_step_id

int

执行作业的起始步骤的 ID。

category_id

int

作业类别的 ID。

owner_sid

varbinary(85)

作业所有者的安全标识号 (SID)。

notify_level_eventlog

int

位掩码,指示在何种情况下应将通知事件记录到 Microsoft Windows 应用程序日志中:

0 = 从不

1 = 作业成功时

2 = 作业失败时

3 = 作业完成时(不考虑作业结果)

 

notify_level_email

int

位掩码,指示在何种情况下应在作业完成时发送通知电子邮件:

0 = 从不

1 = 作业成功时

2 = 作业失败时

3 = 作业完成时(不考虑作业结果)

 

notify_level_netsend

int

位掩码,指示在何种情况下应在作业完成时发送网络消息:

0 = 从不

1 = 作业成功时

2 = 作业失败时

3 = 作业完成时(不考虑作业结果)

 

notify_level_page

int

位掩码,指示在何种情况下应在作业完成时发送寻呼:

0 = 从不

1 = 作业成功时

2 = 作业失败时

3 = 作业完成时(不考虑作业结果)

notify_email_operator_id

int

被通知的操作员的电子邮件名称。

notify_netsend_operator_id

int

发送网络消息时使用的计算机或用户的 ID。

notify_page_operator_id

int

发送寻呼时使用的计算机或用户的 ID。

delete_level

int

位掩码,指示在何种情况下应在作业完成时删除作业:

0 = 从不

1 = 作业成功时

2 = 作业失败时

3 = 作业完成时(不考虑作业结果)

date_created

datetime

作业的创建日期。

date_modified

datetime

上次修改作业的日期。

version_number

int

作业版本。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

sysjobhistory

包含有关由 SQL Server 代理程序调度作业的执行的信息。该表存储在 msdb 数据库中。

列名数据类型描述instance_idint行的唯一标识符。job_iduniqueidentifier作业 ID。step_idint作业中的步骤 ID。step_namesysname步骤的名称。sql_message_idint如果作业失败,则返回任何 Microsoft® SQL Server™ 错误信息的 ID。sql_severityint任何 SQL Server 错误的严重度。messagenvarchar(1024)SQL Server 错误的文本(若有)。run_statusint作业的执行状态:

0 = 失败
1 = 成功
2 = 重试
3 = 取消
4 = 正在进行

run_dateint作业或步骤开始执行的日期。对于"正在进行"的历史记录,这是写入历史记录的日期/时间。 run_timeint作业或步骤完成的时间。 run_durationint以 HHMMSS 格式执行作业或步骤所花费的时间。 operator_id_emailedint作业完成时通知的操作员 ID。 operator_id_netsentint作业完成时用消息通知的操作员 ID。 operator_id_pagedint作业完成时用寻呼机通知的操作员 ID。 retries_attemptedint尝试执行作业或步骤的重试次数。 servernvarchar(30)执行作业时所在服务器的名称。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

查询作业执行花费的时间

SELECT   top 1   run_duration
                        FROM     sysjobhistory
                        WHERE    job_id = 在sysjobs中确定的job_id
                        ORDER BY instance_id DESC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值