📅  最后修改于: 2023-12-03 15:32:59.721000             🧑  作者: Mango
在 MS SQL 中,可以使用 sys.dm_exec_sessions
和 sys.dm_exec_requests
系统视图来查看活动的会话和请求的状态信息。通过查询这些视图,我们可以查看当前正在运行的会话和请求,从而获取活动作业的当前运行时间。
以下是查询活动作业当前运行时间的 SQL 代码片段:
SELECT
r.session_id,
s.login_name,
r.command,
r.percent_complete,
DATEADD(ms, r.total_elapsed_time, GETDATE()) AS running_time
FROM
sys.dm_exec_sessions s
JOIN sys.dm_exec_requests r ON s.session_id = r.session_id
WHERE
r.command LIKE '%<your_job_name_here>%'
AND r.session_id <> @@SPID
以上代码会返回正在执行指定作业名称( <your_job_name_here>
)的活动作业的详细信息,包括会话ID、登录名、执行命令、完成百分比和当前运行时间。
需要注意的是,在使用这种方法来查询活动作业的当前运行时间时,可能会存在误差,因为查询中所获取的时间是当前运行时间而不是作业的实际运行时间。
除此之外,也可以使用 SQL Server Management Studio 中的“活动监视器”工具来查看活动作业的当前状态和运行时间。打开“活动监视器”窗口后,单击“作业活动”选项卡,即可看到当前正在运行的作业的详细信息。
总之,通过查询系统视图或使用“活动监视器”工具,可以方便地查看 MS SQL 中活动作业的当前运行时间。