SQL SERVER 查询Job作业基本信息及执行情况
查询作业基本信息和作业执行情况
SELECT
[jop].[job_id] AS '作业唯一标识符'
,[jop].[ name ] AS '作业名称'
,[dp].[ name ] AS '作业创建者'
,[cat].[ name ] AS '作业类别'
,[jop].[description] AS '作业描述'
, CASE [jop].[enabled]
WHEN 1 THEN '是'
WHEN 0 THEN '否'
END AS '是否启用'
,[jop].[date_created] AS '作业创建日期'
,[jop].[date_modified] AS '作业最后修改日期'
,[sv].[ name ] AS '作业运行服务器名称'
,[step].[step_id] AS '作业起始步骤'
,[step].[step_name] AS '步骤名称'
, CASE
WHEN [sch].[schedule_uid] IS NULL THEN '否'
ELSE '是'
END AS '是否分布式作业'
,[sch].[schedule_uid] AS '作业计划的唯一标识符'
,[sch].[ name ] AS '作业计划的用户定义名称'
, CASE [jop].[delete_level]
WHEN 0 THEN '不删除'
WHEN 1 THEN '成功后删除'
WHEN 2 THEN '失败后删除'
WHEN 3 THEN '完成后删除'
END AS '作业完成删除选项'
FROM [msdb].[dbo].[sysjobs] AS [jop]
LEFT JOIN [msdb].[sys].[servers] AS [sv]
ON [jop].[originating_server_id] = [sv].[server_id]
LEFT JOIN [msdb].[dbo].[syscategories] AS [cat]
ON [jop].[category_id] = [cat].[category_id]
LEFT JOIN [msdb].[dbo].[sysjobsteps] AS [step]
ON [jop].[job_id] = [step].[job_id]
AND [jop].[start_step_id] = [step].[step_id]
LEFT JOIN [msdb].[sys].[database_principals] AS [dp]
ON [jop].[owner_sid] = [dp].[sid]
LEFT JOIN [msdb].[dbo].[sysjobschedules] AS [jsch]
ON [jop].[job_id] = [jsch].[job_id]
LEFT JOIN [msdb].[dbo].[sysschedules] AS [sch]
ON [jsch].[schedule_id] = [sch].[schedule_id]
ORDER BY [jop].[ name ]
作业最后执行情况
SELECT
[job].[job_id] AS '作业唯一标示符'
,[job].[ name ] AS '作业名称'
, CASE WHEN [jobh].[run_date] IS NULL
OR [jobh].[run_time] IS NULL THEN NULL
ELSE CAST ( CAST ([jobh].[run_date] AS CHAR ( 8 )) + ' '
+ STUFF(STUFF( RIGHT ( ''
+ CAST ([jobh].[run_time] AS VARCHAR ( 6 )), 6 ),
3 , 0 , ':' ), 6 , 0 , ':' ) AS DATETIME)
END AS '最后执行时间'
, CASE [jobh].[run_status]
WHEN 0 THEN '失败'
WHEN 1 THEN '成功'
WHEN 2 THEN '重试'
WHEN 3 THEN '取消'
WHEN 4 THEN '正在运行'
END AS '最后执行状态'
,STUFF(STUFF( RIGHT ( '' + CAST ([jobh].[run_duration] AS VARCHAR ( 6 )), 6 ),
3 , 0 , ':' ), 6 , 0 , ':' ) AS '最后运行持续时间'
,[jobh].[message] AS '最后运行状态信息'
, CASE [jsch].[NextRunDate]
WHEN 0 THEN NULL
ELSE CAST ( CAST ([jsch].[NextRunDate] AS CHAR ( 8 )) + ' '
+ STUFF(STUFF( RIGHT ( ''
+ CAST ([jsch].[NextRunTime] AS VARCHAR ( 6 )),
6 ), 3 , 0 , ':' ), 6 , 0 , ':' ) AS DATETIME)
END AS '下次运行时间'
FROM [msdb].[dbo].[sysjobs] AS [job]
LEFT JOIN (
SELECT
[job_id]
, MIN ([next_run_date]) AS [NextRunDate]
, MIN ([next_run_time]) AS [NextRunTime]
FROM [msdb].[dbo].[sysjobschedules]
GROUP BY [job_id]
) AS [jsch]
ON [job].[job_id] = [jsch].[job_id]
LEFT JOIN (
SELECT
[job_id]
,[run_date]
,[run_time]
,[run_status]
,[run_duration]
,[message]
,ROW_NUMBER() OVER ( PARTITION BY [job_id] ORDER BY [run_date] DESC , [run_time] DESC ) AS RowNumber
FROM [msdb].[dbo].[sysjobhistory]
WHERE [step_id] = 0
) AS [jobh]
ON [job].[job_id] = [jobh].[job_id]
AND [jobh].[RowNumber] = 1
ORDER BY [job].[ name ]
查看每个作业步骤基本信息
SELECT
[job].[job_id] AS '作业唯一标识符'
,[job].[name] AS '作业名称'
,[jstep].[step_uid] AS '步骤唯一标识符'
,[jstep].[step_id] AS '步骤编号'
,[jstep].[step_name] AS '步骤名称'
,CASE [jstep].[subsystem]
WHEN 'ActiveScripting' THEN 'ActiveX Script'
WHEN 'CmdExec' THEN 'Operating system (CmdExec)'
WHEN 'PowerShell' THEN 'PowerShell'
WHEN 'Distribution' THEN 'Replication Distributor'
WHEN 'Merge' THEN 'Replication Merge'
WHEN 'QueueReader' THEN 'Replication Queue Reader'
WHEN 'Snapshot' THEN 'Replication Snapshot'
WHEN 'LogReader' THEN 'Replication Transaction-Log Reader'
WHEN 'ANALYSISCOMMAND' THEN 'SQL Server Analysis Services Command'
WHEN 'ANALYSISQUERY' THEN 'SQL Server Analysis Services Query'
WHEN 'SSIS' THEN 'SQL Server Integration Services Package'
WHEN 'TSQL' THEN 'Transact-SQL script (T-SQL)'
ELSE [jstep].[subsystem]
END AS '作业步骤类型'
,CASE
WHEN [px].[name] IS NULL THEN 'SQL SERVER代理服务账户'
ELSE [px].[name]
END AS '步骤运行账户'
,[jstep].[database_name] AS '执行数据库名'
,[jstep].[command] AS '执行命令'
,CASE [jstep].[on_success_action]
WHEN 1 THEN '退出报表成功的作业'
WHEN 2 THEN '退出报告失败的作业'
WHEN 3 THEN '转到下一步'
WHEN 4
THEN '转到步骤: '
+ QUOTENAME(CAST([jstep].[on_success_step_id] AS VARCHAR(3))) + ' '
+ [sOSSTP].[step_name]
END AS '执行成功后操作'
,[jstep].[retry_attempts] AS '失败时的重试次数'
,[jstep].[retry_interval] AS '重试间的等待时间(分钟)'
,CASE [jstep].[on_fail_action]
WHEN 1 THEN '退出报告成功的作业'
WHEN 2 THEN '退出报告失败的作业'
WHEN 3 THEN '转到下一步'
WHEN 4
THEN '转到步骤: '
+ QUOTENAME(CAST([jstep].[on_fail_step_id] AS VARCHAR(3))) + ' '
+ [sOFSTP].[step_name]
END AS '执行失败后操作'
FROM [msdb].[dbo].[sysjobsteps] AS [jstep]
INNER JOIN [msdb].[dbo].[sysjobs] AS [job]
ON [jstep].[job_id] = [job].[job_id]
LEFT JOIN [msdb].[dbo].[sysjobsteps] AS [sOSSTP]
ON [jstep].[job_id] = [sOSSTP].[job_id]
AND [jstep].[on_success_step_id] = [sOSSTP].[step_id]
LEFT JOIN [msdb].[dbo].[sysjobsteps] AS [sOFSTP]
ON [jstep].[job_id] = [sOFSTP].[job_id]
AND [jstep].[on_fail_step_id] = [sOFSTP].[step_id]
LEFT JOIN [msdb].[dbo].[sysproxies] AS [px]--代理账户信息
ON [jstep].[proxy_id] = [px].[proxy_id]
ORDER BY [job].[name], [jstep].[step_id]
查看每个作业步骤执行情况
SELECT
[job].[job_id] AS '作业唯一标识符'
,[job].[name] AS '作业名称'
,[jstep].[step_uid] AS '作业步骤唯一标识符'
,[jstep].[step_id] AS '步骤编号'
,[jstep].[step_name] AS '步骤名称'
,CASE [jstep].[last_run_outcome]
WHEN 0 THEN '失败'
WHEN 1 THEN '成功'
WHEN 2 THEN '重试'
WHEN 3 THEN '取消'
WHEN 5 THEN '未知'
END AS '上次运行状态'
,STUFF(STUFF(RIGHT(''
+ CAST([jstep].[last_run_duration] AS VARCHAR(6)), 6), 3,
0, ':'), 6, 0, ':') AS [LastRunDuration (HH:MM:SS)]
,[jstep].[last_run_retries] AS '上次运行重复执行次数'
,CASE [jstep].[last_run_date]
WHEN 0 THEN NULL
ELSE CAST(CAST([jstep].[last_run_date] AS CHAR(8)) + ' '
+ STUFF(STUFF(RIGHT(''
+ CAST([jstep].[last_run_time] AS VARCHAR(6)),
6), 3, 0, ':'), 6, 0, ':') AS DATETIME)
END AS '上次运行时间'
FROM [msdb].[dbo].[sysjobsteps] AS [jstep]
INNER JOIN [msdb].[dbo].[sysjobs] AS [job]
ON [jstep].[job_id] = [job].[job_id]
ORDER BY [job].[name], [jstep].[step_id]
SQL SERVER 查询Job作业基本信息及执行情况的更多相关文章
- 【原创】SQL SERVER 查询Job作业基本信息及执行情况
查询作业基本信息和作业执行情况 SELECT [jop].[job_id] AS '作业唯一标识符' ,[jop].[ name ] AS '作业名称' ,[dp].[ name ] AS '作业创建 ...
- SQL Server 批量创建作业(备份主分区)
一. 需求背景 在我的数据库实例中,有很多类似下图所示的数据库,这些数据库的名称是有规律的,每个数据库包含的表都是相同的,其中2个表是类似流水记录的表,表的数据量会比较大,占用的空间有几十G到上百G不 ...
- sql server 维护计划与作业关系区别
sql server 维护计划与作业关系区别 对于二者的区别,你可以把维护计划看作是针对数据库进行维护的作业模板.自定义作业具有更广泛的用途,当然,也具有更复杂的操作.所以,如果 仅仅是做个数据库优化 ...
- [转] 利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能
首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET ...
- SQL SERVER 查询性能优化——分析事务与锁(五)
SQL SERVER 查询性能优化——分析事务与锁(一) SQL SERVER 查询性能优化——分析事务与锁(二) SQL SERVER 查询性能优化——分析事务与锁(三) 上接SQL SERVER ...
- SQL Server 查询性能优化 相关文章
来自: SQL Server 查询性能优化——堆表.碎片与索引(一) SQL Server 查询性能优化——堆表.碎片与索引(二) SQL Server 查询性能优化——覆盖索引(一) SQL Ser ...
- 如何修改 SQL Server 代理主作业 (Transact-SQL)
本主题介绍了如何使用存储过程修改 Microsoft SQL Server 代理主作业. 更改作业定义计划的详细信息 1. 执行 sp_update_schedule. 在作业中添加.更改 ...
- 利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能
首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET ...
- 如何找出你性能最差的SQL Server查询
我经常会被反复问到这样的问题:”我有一个性能很差的SQL Server.我如何找出最差性能的查询?“.因此在今天的文章里会给你一些让你很容易找到问题答案的信息向导. 问SQL Server! SQL ...
随机推荐
- Longest Run on a Snowboard
题意: n*m的矩阵,求矩阵中最长下降的序列的长度. 分析: dp[i][j]表示以i,j为起点的最长下降序列,然后记忆化搜索. #include <map> #include <s ...
- IOS 时间 日历 处理集合
1.获得当前时间 从1970开始的秒数 NSTimeInterval time = [[NSDate date[ timeIntervalSince1970]]; NSString * str = [ ...
- 《Python基础教程(第二版)》学习笔记 -> 第七章 更加抽象
对象的魔力 多态:意味着可以对不同类的对象使用同样的操作: 封装:对外部世界隐藏对象的工作细节: 继承:以普通的类为基础建立专门的类对象 多态① 多态和方法绑定到对象特性上面的函数称为方法(metho ...
- Android-day02_广播
1.什么是广播 貌似一个人大声喊一句话,别人听到了这就是广播 2.在android中广播有标准广播和有序广播 标准广播也就是发送一个广播,所有人都能同一时间接收到 有序广播则是有顺序的广播,发送的时候 ...
- oc_转_NSInteger 和 NSNumber
Objective-C 支持的类型有两种:基本类型和类. 基本类型,如同 C 语言中的 int 类型一样,拿来就可以直接用.而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值.类的 ...
- Java IO流中的File类学习总结
一.File类概述 File类位于java.io包中,是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类有多种重载的构造方法.File类保存文件或目录的各种 ...
- socket.io的抽象实现:engine.io
engine.io是一个socket.io的抽象实现,作为socket.io的服务器和浏览器之间交换的数据的传输层.它不会取代Socket.IO,它只是抽象出固有的复杂性,支持多种浏览器,设备和网络的 ...
- work_7
1. 理解C++变量的作用域和生命周期 a) 用少于10行代码演示你对局部变量的生命周期的理解 局部变量分为动态局部变量和静态局部变量,其共同点为作用域均为定义它的函数体或语句块,其不同点为其生命周期 ...
- DelphiXE8怎么使用调试模式
需求:在开发Android程序时,大家一直是使用ShowMessage.其实XE是支持下断点的. 操作: 1.小米手机用USB线,连到电脑上. 2.小米手机-设置-关于手机-"MIUI版本& ...
- DelphiXE8新建AVD
相关资料: 1.http://jingyan.baidu.com/article/ea24bc398576b3da62b33107.html