欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL SERVER 作业浅析

程序员文章站 2024-02-05 11:36:22
...

作业介绍 SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作。作业可以执行一系列活动,包括运行Transact-SQL脚本、命令行应用程序、Microsoft ActiveX脚本、Integration Services 包、Analysis Services 命令和查询或复制任务。作业可以运行重

作业介绍

SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作。作业可以执行一系列活动,包括运行Transact-SQL脚本、命令行应用程序、Microsoft ActiveX脚本、Integration Services 包、Analysis Services 命令和查询或复制任务。作业可以运行重复任务或那些可计划的任务,它们可以通过生成警报来自动通知用户作业状态,从而极大地简化了 SQL Server 管理[参见MSDN]。

创建作业、删除作业、查看作业历史记录....等所有操作都可以通过SSMS管理工具GUI界面操作,有时候也确实挺方便的。但是当一个实例有多个作业或多个数据库实例时,通过图形化的界面去管理、维护作业也是个头痛的问题,对于SQL脚本与GUI界面管理维护作业熟优熟劣这个问题,只能说要看场合。下面主要介绍通过SQL脚本来管理、维护作业。

作业分类

创建作业时,往往需要指定作业类别,如果不指定新建作业类别,就会默认为“[未分类(本地)]”,如下截图所示:

SQL SERVER 作业浅析

当然,你可以查看、添加、删除、修改作业分类。请看下面操作。

1:查看作业分类

Code Snippet

有兴趣的可以研究一下存储过程msdb.dbo.sp_help_category

sp_help_category , @type VARCHAR(12) = NULL, @name sysname = NULL, VARCHAR(12) NVARCHAR(255) DECLARE @cmd NVARCHAR(255) (RTRIM(@class)) (RTRIM(@type)) (RTRIM(@name)) ) (() ) () ) sp_verify_category @class, @type_in, NULL, @category_class OUTPUT, @category_type OUTPUT ) RETURN(1) ) (msdb.dbo.syscategories category_class = @category_class) (25) ((25)) , @name, @category_class_string) RETURN(1) N(() N(() N(N() NNNNNNNNNNN(N) RETURN(@@error) END GO

sp_help_category

2:添加作业分类

如下所示,香港虚拟主机,添加一个叫"DBA_MONITORING"的作业分类

Code Snippet

有兴趣的可以研究一下存储过程msdb.dbo.sp_add_category

sp_add_category , , @name sysname NOCOUNT (RTRIM(@class)) (RTRIM(@type)) (RTRIM(@name)) sp_verify_category @class, @type, @name, @category_class OUTPUT, @category_type OUTPUT ) RETURN(1) msdb.dbo.syscategories WHERE (category_class = @category_class) AND (name = @name))) , , @name) RETURN(1) msdb.dbo.syscategories (category_class, category_type, name) VALUES (@category_class, @category_type, @name) RETURN(@@error) END GO

sp_add_category

3:删除作业分类

如下所示,删除一个叫"DBA_MONITORING" 的作业分类

Code Snippet

有兴趣的可以研究一下存储过程msdb.dbo.sp_delete_category