`
tangqii
  • 浏览: 7801 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类

SQL server 中的作业信息查询

阅读更多
作业信息存储在MSDB中.可以运行以下存储过程,监视作业的执行情况.

可以参考如下SQL:

SELECT 作业的名称 = name,
       对作业的说明 = description,
       计划运行作业的下一个日期 = (SELECT next_run_date
                       FROM   sysjobschedules
                       WHERE  job_id = sysjobs.job_id),
       计划运行作业的时间 = (SELECT next_run_time
                    FROM   sysjobschedules
                    WHERE  job_id = sysjobs.job_id),
       作业的执行状态 = CASE (SELECT   top 1   run_status
                       FROM     sysjobhistory
                       WHERE    job_id = sysjobs.job_id
                       ORDER BY instance_id DESC)
                   WHEN 0 THEN '失败'
                   WHEN 1 THEN '成功'
                   WHEN 2 THEN '重试'
                   WHEN 3 THEN '已取消'
                   WHEN 4 THEN '正在进行中'
                 END,
       作业或步骤开始执行的日期 = (SELECT   top 1   run_date
                       FROM     sysjobhistory
                       WHERE    job_id = sysjobs.job_id
                       ORDER BY instance_id DESC),
       作业或步骤开始的时间 = (SELECT   top 1   run_time
                     FROM     sysjobhistory
                     WHERE    job_id = sysjobs.job_id
                     ORDER BY instance_id DESC),
       执行作业或步骤所花费的时间 = (SELECT   top 1   run_duration
                        FROM     sysjobhistory
                        WHERE    job_id = sysjobs.job_id
                        ORDER BY instance_id DESC)
FROM   sysjobs

如果监视备份作业的执行计划,可以在描述中输入:"备份" 等字样,查询时候可以用description 描述信息过滤.如下:

(注意:对某些字段尽心了翻译和转换)

SELECT 作业的名称 = name,
       对作业的说明 = description,
       计划运行作业的下一个日期 = (SELECT left(left(next_run_date,4)+'-'+right(next_run_date,4),7)+'-'+right(next_run_date,2)
                       FROM   sysjobschedules
                       WHERE  job_id = sysjobs.job_id),
       计划运行作业的时间 = (SELECT left(left(left('000000',6-len(next_run_time))+ltrim(next_run_time),2)+':'+right(left('000000',6-len(next_run_time))+ltrim(next_run_time),4),5)+':'+right(left('000000',6-len(next_run_time))+ltrim(next_run_time),2)
                    FROM   sysjobschedules
                    WHERE  job_id = sysjobs.job_id),
       作业的执行状态 = CASE (SELECT   top 1   run_status
                       FROM     sysjobhistory
                       WHERE    job_id = sysjobs.job_id
                       ORDER BY instance_id DESC)
                   WHEN 0 THEN '失败'
                   WHEN 1 THEN '成功'
                   WHEN 2 THEN '重试'
                   WHEN 3 THEN '已取消'
                   WHEN 4 THEN '正在进行中'
                 END,
       作业或步骤开始执行的日期 = (SELECT   top 1   left(left(run_date,4)+'-'+right(run_date,4),7)+'-'+right(run_date,2)
                       FROM     sysjobhistory
                       WHERE    job_id = sysjobs.job_id
                       ORDER BY instance_id DESC),
       作业或步骤开始的时间 = (SELECT   top 1   left(left(left('000000',6-len(run_time))+ltrim(run_time),2)+':'+right(left('000000',6-len(run_time))+ltrim(run_time),4),5)+':'+right(left('000000',6-len(run_time))+ltrim(run_time),2)
                     FROM     sysjobhistory
                     WHERE    job_id = sysjobs.job_id
                     ORDER BY instance_id DESC),
       执行作业或步骤所花费的时间 = (SELECT   top 1  left(left(left('000000',6-len(run_duration))+ltrim(run_duration),2)+'小时'+right(left('000000',6-len(run_duration))+ltrim(run_duration),4),5)+'分钟'+right(left('000000',6-len(run_duration))+ltrim(run_duration),2)+'秒'
                        FROM     sysjobhistory
                        WHERE    job_id = sysjobs.job_id
                        ORDER BY instance_id DESC)
FROM   sysjobs
WHERE description LIKE '%备份%'

这样就可以监视到备份数据库计划的执行,前台页面就可以用Ajax来无刷新监视备份情况了.

测试后,SQL server 2005 也使用.

分享到:
评论

相关推荐

    SQL server大作业

    在本“SQL Server大作业”中,我们主要探讨的是如何使用SQL Server进行数据库的设计与实现。这个作业可能包括了从需求分析、概念模型设计、逻辑结构设计到物理结构设计的全过程,同时也涉及到SQL语言的使用,如数据...

    SQL Server 使用 SQL Server 代理作业.ppt

    SQL Server 代理作业是 SQL Server 中的一种自动化工具,能够自动执行周期性的任务,并在出现故障时自动通知操作员。下面是 SQL Server 代理作业的知识点摘要: 一、代理服务概述 * SQL Server 代理是一个任务规划...

    SQL SERVER定时作业的设置方法

    - SQLSERVERAGENT服务必须处于运行状态,且启动它的NT登录用户应与启动SQL Server数据库的NT登录用户相同。 6. **作业历史记录管理** - 为了保留特定时间段的历史记录,可以在“SQL Server代理”属性中调整作业...

    sql server2005查看作业

    在 SQL Server 2005 中,作业可以被分为多种类型,例如 Transact-SQL 作业、命令行作业、ActiveX Scripting 作业等。每种类型的作业都有其特点和作用域,例如 Transact-SQL 作业可以用来执行 Transact-SQL 语句,而...

    sqlserver通过作业备份数据库1

    在作业中,可以添加多个步骤,每个步骤可以执行不同的任务。例如,在这里我们将添加一个步骤,以便备份数据库。选择左侧“步骤”页面,在右侧点击“新建”按钮,输入步骤名称,选择“类别”为“Transact-SQL 脚本(T-...

    sqlserver之并行查询

    并行查询是 SQL Server 中的一种查询优化技术,通过使用多个线程来处理查询作业,从而提高查询的效率。这种技术可以加速查询的执行速度,特别是在大表查询和复杂查询的情况下。 一、并行查询的使用场景 并行查询...

    sql server 2000作业提交与审阅系统

    SQL Server 2000是微软推出的一款关系型数据库管理系统,它在企业级数据存储、管理和分析中扮演了重要角色。本系统“SQL Server 2000作业提交与审阅系统”是一个针对教育或企业管理场景设计的应用,主要用于作业的...

    SQL Server创建作业流程

    在SQL Server中,通过创建作业可以实现定时执行特定的任务,比如定期备份数据库、清理日志、执行数据同步等操作。这不仅可以提高系统的自动化程度,还能确保关键任务按照预定的时间表执行。 #### 二、创建作业的...

    SQLServer定时作业job的设置方法.doc

    在 SQL Server 中,要创建一个新的作业,需要在管理->SQL Server 代理->作业中右键点击新建作业,然后填写作业的名称、描述和所有者信息。作业的名称可以根据实际情况自定义,描述可以填写作业的详细信息,所有者...

    Sql Server 定时 作业 任务 创建 详细步骤

    本文档将详细介绍如何在SQL Server Management Studio (SSMS) 中创建一个定时作业任务,适合初次接触这一功能的用户。 #### SQL Server 版本信息 - **作者**:htl258 (Tony) - **日期**:2010-04-29 19:07:45 - **...

    信息安全等级保护测评实施SQL Server二级作业指导书.doc

    "信息安全等级保护测评实施SQL Server二级作业指导书" 本资源摘要信息提供了SQL Server数据库等保二级测评作业指导书的详细信息,旨在帮助数据库管理员和安全专家对SQL Server数据库进行安全等级保护测评和实施。 ...

    sql server2005小作业

    在本作业中,我们主要关注的是使用SQL Server 2005数据库管理系统,结合Visual Studio 2010(VS2010)开发环境,以及ADO.NET数据访问技术来实现数据操作。以下是对这些关键知识点的详细说明: 1. **SQL Server 2005...

    使用SQL Server作业执行SSIS包

    SQL Server 代理服务是 SQL Server 中的一个组件,它负责计划和执行作业,包括SSIS 包的执行。 接下来,使用 Microsoft SQL Server Management Studio (SSMS) 连接到 SQL Server 实例。在 SSMS 中,导航到 SQL ...

    基于c#和sqlserver的学生信息管理系统——数据库大作业.zip

    在本项目中,SQLServer将用于存储学生信息,包括姓名、学号、班级、成绩等字段。开发者可以通过SQL语句进行数据操作,如INSERT(插入)、SELECT(查询)、UPDATE(更新)和DELETE(删除),实现对学生数据的动态管理...

    课程设计Python+SQLServer实现疫情医疗信息管理系统源码.zip

    课程设计Python+SQLServer实现疫情医疗信息管理系统源码课程设计Python+SQLServer实现疫情医疗信息管理系统源码课程设计Python+SQLServer实现疫情医疗信息管理系统源码课程设计Python+SQLServer实现疫情医疗信息管理...

    SQL Server数据库技术期末大作业 代码与数据库

    在SQL Server数据库技术的学习中,期末大作业通常会涵盖多个核心概念,以检验学生对数据库管理、查询优化和事务处理的理解。根据提供的文件名,我们可以推断出这个作业可能涉及到以下几个方面: 1. **数据库文件**...

    Sql Server 数据库超时问题的解决方法

    Sql Server 数据库超时问题的解决方法主要包括调整等待响应时间、在企业管理器中调整等待响应时间、在查询分析器中调整等待响应时间、在.NET 中调整等待响应时间等方法。通过这些方法,可以解决 Sql Server 数据库...

    使用flink-connector-sqlserver-cdc 2.3.0把数据从SQL Server实时同步到MySQL中

    - 首先,你需要在你的Flink项目中添加`flink-connector-sqlserver-cdc_2.11-2.3.0`依赖。这可以通过Maven或Gradle的依赖管理来完成。 - 接着,配置连接器以指向你的SQL Server实例,包括服务器地址、端口、数据库...

    sql server 课程设计案例

    在SQL Server课程设计案例中,我们可以深入学习和理解SQL Server这一强大的关系型数据库管理系统。SQL Server是由Microsoft开发的,广泛应用于企业级数据管理和分析。它提供了丰富的功能,包括数据存储、查询、报表...

    错误22022 SQLServerAgent当前未运行的解决方法

    SQLserver代理已经启动了,服务里的SQLServerAgent响应服务也已经开启了 但是启动作业的时候还是提示“错误22022:SQLServerAgent当前未运行,因此,无法就本操作对其进行提示。” 有高人遇到过这个问题吗? 怎么...

Global site tag (gtag.js) - Google Analytics