Maison > Article > base de données > SQL SERVER 作业浅析
作业介绍 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脚本来管理、维护作业。
作业分类
创建作业时,往往需要指定作业类别,如果不指定新建作业类别,就会默认为“[未分类(本地)]”,如下截图所示:
当然,你可以查看、添加、删除、修改作业分类。请看下面操作。
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_category3:删除作业分类
如下所示,删除一个叫"DBA_MONITORING" 的作业分类
Code Snippet
有兴趣的可以研究一下存储过程msdb.dbo.sp_delete_category