繁体   English   中英

SQL Server代理作业监视(作业是否开始了?)

[英]SQL Server Agent Job Monitoring (did a Job even start?)

我是一名BI开发人员,并被委派了DBA的任务。 这是关于分别监视SQL Server代理作业以获取有关以下关键指标的信息,这些指标将在所有前端之后准备:

  1. 服务器代理作业和作业步骤失败
  2. 作业的运行时间和作业步骤
  3. 找出工作是否已经开始
  4. 内存分配:评估和监视移动和存储的数据量

目的是监视并在必要时指出关键数据中的任何差异。

我得到了前两点。 在每种情况下,我都在表中显示是否作业或步骤是否启用/禁用。 我还记录了每个步骤的术语,可以使用阈值来警告是否达到临界范围。

对我来说最大的问题是什至没有开始的工作(第3点)。 据我所知,这些没有记录在MSDB表中。 我想知道什么时候工作或工作步骤还没有开始。 您能告诉我如何获取此信息吗? 也许有人已经准备好适合该问题的脚本?

在内存使用方面,我对硬盘上剩余多少可用空间,分区有多大以及消耗随时间的变化感兴趣。

在互联网上,我找不到第三和第四点。 我将非常感谢您的帮助! (原谅我我的英语不好:)

结果,当计划下次运行Job xy时。 他没有出现在表格中。 但是,他出现在作业历史记录的SQL Server代理中。 但是,在他下次运行时,该信息丢失了。 我的计划是从sysjobactivity表中获取next_scheduled_run_date列,然后将稍后的运行与run_requested_Date列进行比较。 但是很显然,sysjobactivity表中缺少一些记录。 另一个包含target_start时间的表是sysjobschedules。 不幸的是,这只有当前的计划日期。 我还没有找到另一个包含目标run_dates历史的表。 当然,可以有一个手动表(类似于目标值),但这会花费很多精力。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM