下载
第16学时任务调度和报警
你可能要在 SQL Server上运行许多数据库任务,但又不想在正常的工作时间里进行。这
可能是因为这些处理需要耗用大量的资源,导致用户们的操作减慢。或者是因为这些处理可
能影响到数据库中大量的数据,比如归档处理。你要处理的其他情况还有每天定时发生的任
务。如果没有办法调度任务以便在指定时间完成,你可能要依赖于人工来运行这些任务了,
这意味着人为的遗忘都可能造成这些任务未执行。 SQL Server允许你使用SQL Server Agent调
度和运行作业( j o b ),它是用于控制任务和报警的一个独立服务。作业是指任何运行于 S Q L
S e r v e r上的任务;报警是指某个事件发生时(比如数据库已满)SQL Server的反应。
本学时的要点包括:
• SQL Server Agent服务
•管理作业
•报警和操作员
• SQL Mail
SQL Server Agent服务
SQL Server Agent是SQL Server 。该应用程序使得
系统管理员能够在服务器上调度周期性的活动并且当一个事件(例如错误)发生时通知某个用
户。在作业和警报创建之后,它允许管理员依靠该服务器来确保数据库的维护正确进行,如
果出现问题的话,则通过寻呼或电子邮件告诉管理员。以下是 SQL Server Agent所使用的三个
主要组成部分:
•作业—作业是一系列的工作,至少一个,也可能是许多工作,它为达到一个指定目的
而执行。任务可以调度以便在一天的指定时间里执行,或者按日程表重复执行,比如每
个小时。大多数情况下,创建和调度作业可能是你使用 SQL Server Agent的主要目的。
•报警—报警是当服务器上发生某一事件时产生的一系列反应。例如,一些 SQL Server
A g e n t能够响应的事件例子有:特定的错误、特定严重性等级的错误、数据库空余达到
特定数量或者是其他用户自定义的错误。 SQL Server能响应报警,给服务器上定义的操
作员发寻呼、发送电子邮件或执行一个任务来纠正错误。
•操作员—操作员是定义在服务器上的一个人,作为接受报警的对象。当报警发生时,
他就是那个接收电子邮件、寻呼或网络的通知的人。通常操作员是可以处理服务器上所
发生的任何问题的人。
作业、报警和操作员都是使用 SQL Server Enterprise Manager在SQL Server上定义的并存
储在SQL Server的m s d b数据库中。当SQL Server Agent首次启动时,它先要查看 m s d b数据库
中定义了哪些作业、报警和操作员以及哪些可以执行。当一个任务的指定运行时刻到来时,
SQL Server能够激活该任务。如果 SQL Server在任何地方发生一个错误,不论是从调度的任务
还是从SQL Server本身,只要有为该错误定义的报警,这个服务器就能够响应并将此信息传
1 4 6 SQL Server 7 24学时教程
下载
送给SQL Server Agent服务。
管理作业
如上所述,作业就是 SQL Server为达到某一目的而必须采取的一系列步骤。一个例子便
是备份。在大多数情况下,你可以安排数据库备份工作在一天的特定时间里进行。作为系统
管理员,你不希望每天回去手工运行备份。其他需要创建作业的例子有数据库维护工作、批
处理、归档处理。所有这些作业如果在一天的工作时间里运行会造成资源紧张,从而减慢用
户的运行。
在调度作业时你可以执行的最有用的功能之一是安排它们在多个服务器上运行。这就是多
服务器管理。多服务器管理使你能够通过一个主服务器来管理工作在多个服务器上的作业。主
服务器给目标服务器分配作业,并且从这些服务器上接受事件消息。目标服务器定期连接到主
服务器接受新创建的作业。目标服务器完成作业之后,将连接到主服器上并报告该作业的状态。
这类管理的例子之一是分布于一个宽广地域之内的几个 S Q L服务器。你可以用所需的步
骤创建一个备份作业,一个当作业完成后得到报警的操作员,以及一个用于执行的日程表。
当你已经设置好一切并检验过之后,还要做的仅仅是指定所有用作目标服务器的远程服务器。
这样省去了你需要在所有服务器上定义作业的工作量。
调度作业
在SQL Enterprise Manager中创建作业是最容易的方法。另一个方法是在 SQL Query
A n a l y z e r中使用系统存储过程。以下步骤教你使用 SQL Ente
《SQLServer724学时教程(十六)》青少年科普教育丛书 来自淘豆网m.daumloan.com转载请标明出处.