zer*_*bug 18 sql-server sql-server-agent
如何编写脚本以查看 SQL Server 中正在运行的作业和作业开始时间?
SELECT sj.name,
sja.run_requested_date,
CONVERT(VARCHAR(12), sja.stop_execution_date-sja.start_execution_date, 114) Duration
FROM msdb.dbo.sysjobactivity sja
INNER JOIN msdb.dbo.sysjobs sj
ON sja.job_id = sj.job_id
WHERE sja.run_requested_date IS NOT NULL
ORDER BY sja.run_requested_date desc;
Run Code Online (Sandbox Code Playgroud)
Ken*_*her 58
我发布一个查询获得当前正在运行的任务的列表而回这里。
SELECT
ja.job_id,
j.name AS job_name,
ja.start_execution_date,
ISNULL(last_executed_step_id,0)+1 AS current_executed_step_id,
Js.step_name
FROM msdb.dbo.sysjobactivity ja
LEFT JOIN msdb.dbo.sysjobhistory jh
ON ja.job_history_id = jh.instance_id
JOIN msdb.dbo.sysjobs j
ON ja.job_id = j.job_id
JOIN msdb.dbo.sysjobsteps js
ON ja.job_id = js.job_id
AND ISNULL(ja.last_executed_step_id,0)+1 = js.step_id
WHERE ja.session_id = (SELECT TOP 1 session_id FROM msdb.dbo.syssessions ORDER BY agent_start_date DESC)
AND start_execution_date is not null
AND stop_execution_date is null;
Run Code Online (Sandbox Code Playgroud)
这有作业名称、作业 ID、开始时间以及它正在运行的步骤。如果您点击上面的链接,您可以获得更多关于我是如何提出它的以及还有什么可用的详细信息。
小智 5
我在查询 MSDB 表(也称为上面列出的代码)的一台服务器上遇到了问题,因为我的一项作业将开始运行,但事实并非如此。有一个系统存储过程可以返回执行状态,但是执行 insert exec 语句时不能不出错。其中包含另一个系统存储过程,可以与 insert exec 语句一起使用。
INSERT INTO #Job
EXEC master.dbo.xp_sqlagent_enum_jobs 1,dbo
Run Code Online (Sandbox Code Playgroud)
以及将其加载到的表:
CREATE TABLE #Job
(job_id UNIQUEIDENTIFIER NOT NULL,
last_run_date INT NOT NULL,
last_run_time INT NOT NULL,
next_run_date INT NOT NULL,
next_run_time INT NOT NULL,
next_run_schedule_id INT NOT NULL,
requested_to_run INT NOT NULL, -- BOOL
request_source INT NOT NULL,
request_source_id sysname COLLATE database_default NULL,
running INT NOT NULL, -- BOOL
current_step INT NOT NULL,
current_retry_attempt INT NOT NULL,
job_state INT NOT NULL)
Run Code Online (Sandbox Code Playgroud)
小智 0
以下脚本返回:
SELECT sj.name
, sja.*
FROM msdb.dbo.sysjobactivity AS sja
INNER JOIN msdb.dbo.sysjobs AS sj ON sja.job_id = sj.job_id
WHERE sja.start_execution_date IS NOT NULL
AND sja.stop_execution_date IS NULL
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
153635 次 |
| 最近记录: |