Sql server 如何确定每个作业的内存使用情况

Sql server 如何确定每个作业的内存使用情况,sql-server,Sql Server,我在我的sql server上安排了许多作业,我希望找到最耗时的作业。以下脚本将显示按运行时间最长的顺序排列的sql server代理作业 SELECT j.name, j.description, h.step_id, h.step_name, msdb.dbo.agent_datetime(run_date,run_time) AS RunDate, run_du

我在我的sql server上安排了许多作业,我希望找到最耗时的作业。

以下脚本将显示按运行时间最长的顺序排列的sql server代理作业

SELECT      j.name,
            j.description,
            h.step_id,
            h.step_name,
            msdb.dbo.agent_datetime(run_date,run_time) AS RunDate,
            run_duration,
            run_status
FROM        msdb..sysjobhistory h
            JOIN msdb..sysjobs j
                ON h.job_id = j.job_id
WHERE       enabled = 1 AND
            step_id = 1 
ORDER BY    run_duration DESC

重复你的头衔不会问任何问题。你所说的“工作”是什么意思,代理工作?一批,一份声明?用户?(应用?),您是否也可以修改查询,使其同时返回每个作业的内存消耗量(MB)?我不知道这是否容易,您可以使用perfmon和perfmon计数器dmv,但您必须实时执行此操作。msdb不会记录这些东西