【问题标题】:How can I create a grid of SQL Jobs for multiple servers?如何为多个服务器创建 SQL 作业网格?
【发布时间】:2011-09-19 13:50:06
【问题描述】:

我正在尝试找出一种方法来监控多个 SQL Server 上的 SQL 作业并将详细信息添加到 Web 表单中。我已经使用应用程序池、服务和任务完成了这项工作,但现在我还需要监控作业。我创建了一个网格来存储作业名称、运行时间、运行日期、状态等内容。

我发现了这个问题:

How to monitor SQL Server Agent Job info in C#

string sqlJobQuery = "select j.job_id, j.name, j.enabled, jh.run_status," +
" js.last_outcome_message, jh.run_date, jh.step_name, jh.run_time" +
" from sysjobs j left join sysjobhistory jh on (j.job_id = jh.job_id)" +
" left join sysjobservers js on (j.job_id = js.job_id)" +
" where jh.run_date = (select Max(run_date) from sysjobhistory)" +
" and jh.run_time = (select Max(run_time) from sysjobhistory)";

他的查询看起来不错,但我需要从我的数据库 (dbo.Monitor) 中再加入一个表,其中包括一个服务器 IP,以便我可以监控多个服务器。我尝试在多个地方添加 LEFT JOIN Monitor.dbo.SQLJobs,但它从来没有用过。这是我正在运行的查询:

@serverIP       nvarchar(20),
@JobID          nvarchar(100)

SELECT Monitor.dbo.SQLJobs.ServerIP, msdb.dbo.sysjobs.job_id, msdb.dbo.sysjobs.name, 
msdb.dbo.sysjobhistory.run_date, msdb.dbo.sysjobhistory.run_time, msdb.dbo.sysjobhistory.run_status, msdb.dbo.sysjobhistory.step_name
FROM msdb.dbo.sysjobs LEFT JOIN msdb.dbo.sysjobhistory
ON (msdb.dbo.sysjobs.job_id = msdb.dbo.sysjobhistory.job_id)
WHERE Monitor.dbo.SQLJobs.ServerIP = @serverIP
AND msdb.dbo.sysjobs.job_id = @JobID
AND msdb.dbo.sysjobhistory.run_date = (SELECT MAX(run_date) FROM msdb.dbo.sysjobhistory)
AND msdb.dbo.sysjobhistory.run_time = (SELECT MAX(run_time) FROM msdb.dbo.sysjobhistory)
AND msdb.dbo.sysjobhistory.step_name <> '(Job outcome)'

我可以在哪里添加其他 JOIN 以使此查询正常工作?在否决我之前,请告诉我是否需要添加更多信息。

【问题讨论】:

  • 我不知道是否有人对此解决方案感兴趣,但我已经想通了。
  • 您能与我们分享您的解决方案吗?
  • Matt 如果你想通了,请发布解决方案

标签: c# sql stored-procedures sql-job


【解决方案1】:

对不起,我有一段时间没有检查这个了。我的查询不起作用,因为我试图在不同域的两台服务器上查询 sys 作业。

我必须链接服务器才能从两个服务器的系统作业中获取数据并以一种形式显示数据。

http://msdn.microsoft.com/en-us/library/ff772782.aspx

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 2017-10-10
    • 2021-07-17
    • 1970-01-01
    相关资源
    最近更新 更多