《SQLServer2005数据库案例教程》第8章作业操作_第1页
《SQLServer2005数据库案例教程》第8章作业操作_第2页
《SQLServer2005数据库案例教程》第8章作业操作_第3页
《SQLServer2005数据库案例教程》第8章作业操作_第4页
《SQLServer2005数据库案例教程》第8章作业操作_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章作业操作8.1创建作业8.1.1相关知识及注意事项【技术要点】

SQLServer2005允许自动执行管理任务。若要让SQLServer2005自动执行管理任务,就必须要先定义好管理任务的内容,然后指定执行该任务的时间或条件,由SQLServer2005来自动执行。

1.SQLServer代理SQLServer代理是一种MicrosoftWindows服务,它执行安排的管理任务,即“作业”。

SQLServer代理可以完成的工作简单一点说有以下4种:¨作业调度¨执行作业¨产生警报¨通知管理员2.自动管理组件

SQLServer代理使用下列组件来定义要执行的任务、执行任务的时间以及报告任务成功或失败的方式。SQLServer代理还为自动管理提供了安全性。1)作业“作业”是SQLServer代理执行的一系列指定操作。2)计划“计划”指定了作业运行的时间。3)警报“警报”是对特定事件的自动响应。4)操作员操作员定义的是负责维护一个或多个SQLServer实例的个人的联系信息。3.自动管理工具

MicrosoftSQLServer中提供的下列工具用于帮助您进行自动管理。1)SQLServerManagementStudio2)维护计划向导4.配置SQLServer代理

可以在安装SQLServer的过程中为SQLServer代理指定一些配置选项。

SQLServer代理将大部分配置信息存储在msdb数据库的表中。SQLServer代理使用SQLServer凭据对象来存储代理的身份验证信息。1)设置所需权限2)验证已设置了所有必要的Windows权限5.启动和停止SQLServer代理

安装完SQLServer2005后,SQLServer代理默认是停止的,必须要手动启动。在SQLServerManagementStudio里可以启动SQLServer代理。启动方法如图8.1所示,启动【SQLServerManagementStudio】,连接数据库实例,在【对象资源管理】里右击【SQLServer代理】,在弹出的快捷菜单里选择【启动】选项,可以启动SQLServer代理。如果要停止SQLServer代理服务,也可右击【SQLServer代理】,在弹出的快捷菜单里选择【停止】选项。所有的作业必须要在SQLServer代理服务启动时才能完成。图8.1启动SQLServer代理

图8.2确认启动提示框

也可以将SQLServer代理服务器设为在计算机启动时自动启动,该设置可以在【服务】里完成:(1)单击【开始】菜单,选择【所有程序】→【管理工具】→【服务】。(2)在弹出的【服务】对话框里右击【SQLServerAgent(MSSQLSERVER)】,这是SQLServer代理服务名称,在弹出的快捷菜单里选择【属性】选项。(3)弹出如图8.3所示【SQLServerAgent的属性】对话框,在该对话框的【启动类型】下拉列表框里选择【自动】【复制监视器】对话框,然后单击【确定】按钮,完成操作。

图8.3在计算机启动时设置SQLServer代理

如此设置之后,当计算机启动时,SQLServer代理也会自动启动。当然,在如图8.3所示对话框里也能启动、停止、暂停SQLServer代理服务。

图8.4SQLServer开机启动的设置

在SQLServer2005的【SQLServer配置服务器】里也可以启动、停止、暂停SQLServer服务,以及启动模式。设置方式与在【服务】中设置所差不远,之所以介绍在【服务】里设置SQLServer代理的启动及启动模式,是为了让读者多了解一些其他管理SQLServer的途径。★重点:1).启动SQLServer代理的默认实例在命令提示符下,输入以下命令之一:netstart"SQLServerAgent(MSSQLSERVER)"-或-netstartSQLSERVERAGENT2).启动SQLServer代理的命名实例在命令提示符下,输入以下命令之一:请用要管理的实例的名称替换<instancename>。netstart"SQLServerAgent(实例名)"-或-netstopSQLAgent$<instancename>3).停止SQLServer代理服务可以从SQLServer配置管理器停止和启动SQLServer代理。(1)停止SQLServer代理服务(2)使用MicrosoftWindowsnet命令可以停止SQLServer代理服务。

①停止SQLServer代理的默认实例

②停止SQLServer代理的命名实例

8.1.2创建作业

在SQLServer代理里用得最多的就是作业,作业是一系列由SQLServer代理按顺序执行的指定操作。一个作业可以执行各种类型的活动,包括运行Transact-SQL脚本、命令提示符应用程序、MicrosoftActiveX脚本、IntegrationServices包、AnalysisServices命令和查询或复制任务。作业可以运行重复或可计划的任务,然后它们可以通过生成警报来自动通知用户作业状态,从而极大地简化了SQLServer管理。

作业可以包含一个或多个步骤,每个步骤都可以运行T-SQL脚本、命令行应用程序、ActiveX脚本、IntegrationServices包、AnalysisServices命令、查询或复制等操作。作业可以重复执行,也可以通过生成警报来通知作业状态,因此能大大地减轻系统管理员的工作负担。

若要创建作业,用户必须是某个SQLServer代理固定数据库角色或sysadmin固定服务器角色的成员。作业只能由其所有者或sysadmin角色的成员进行编辑。可以编写作业,使其运行在企业内的SQLServer本地实例或多个实例上。必须设置至少一台主服务器以及一台或多台目标服务器,才能在多台服务器上运行作业。在SQLServerManagementStudio里创建作业的步骤如下:1.启动【SQLServerManagementStudio】,连上数据库实例,在【对象资源管理器】里选择【数据库实例】->【SQLServer代理】->【作业】。2.右击【作业】,在弹出的快捷菜单里选择【新建作业】选项,弹出如图8.6所示【新建作业】对话框

图8.6新建作业对话框

3.在如图8.6所示对话框的【名称】文本框里可以输入本次作业的名称;在【所有者】文本框里可以输入本次作业的所有者名称;在【类别】下拉框里可以选择本次作业的类别;在【说明】文本框里可以输入本次作业的说明文字;只有选中【已启用】复选框,本次作业才能被SQLServer代理执行。

4.设置完毕后选择【步骤】标签,弹出【步骤】选项卡,在该选项卡里可以添加、删除和修改作业里的步骤,单击【新建】按钮。图8.7新建作业步骤5.

弹出如图8.7所示【新建作业步骤】对话框,在【步骤名称】文本框里可以输入该步骤的名称;在【类型】下拉列表框里可以选择本步骤执行的操作的类型,在本例中选择“Transact-SQL脚本”选项;在【运行身份】下拉列表框里可以选择代理账户;在【数据库】下拉列表框里可以选择要运行该操作的数据库;在【命令】文本框里可以输入T-SQL代理内容。在本例中输入以下代码:CREATETABLE备份时间表{ 编号INTIDENTITY(1,1)PRIMARYKEY, 备份时间smalldatetime}

该代码的作用是添加一个备份时间表,用来记录每次备份的时间,然后选择【高级】标签,打开如图8.8所示【高级】选项卡,在该选项卡里可以继续设置作业步骤的属性。

在【成功时要执行的操作】下拉列表框里,可以选择项为“转到下一步”、“退出报告成功的作业”和“退出执行失败的作业”。该选项是设置本次作业步骤如果成功执行后的操作,是转向执行下一个作业步骤,还是就此退出并报告成功或失败的作业。在本例中选择“转到下一步”。

在【重试次数】微调框里可以设置如果本次作业步骤执行失败后的重试次数。

在【重试间隔】微调框里可以设置如果本次作业步骤执行失败后间隔多长时间再重试,单位为分钟。

在【失败时要执行的操作】下拉框里的可选项分别为“退出报告成功的作业”、“转到下一步”和“退出报告失败的作业”。该选项是设置本次作业步骤如果执行失败后的操作,是就此退出并报告成功或失败的作业,还是转向执行下一个作业步骤。在本例中选择“退出报告失败的作业”。

在【输出文件】文本框中可以设置用于作业步骤输出的文件。选择【将输出追加到现有文件】复选框则每次都把作业步骤输出到文件的尾部,否则覆盖原文件。

选择【记录到表】复选框则把作业步骤输出记录到msdb数据库的sysjobstepslogs数据库表中。

选择【将输出追回到表中的现有条目】复选框则将输出追加到表的现有内容后面,否则每次作业步骤运行时都将覆盖以前表的内容。

选择【在历史记录中包含步骤输出】复选框可以将在作业历史记录中包含作业步骤的输出。

在【作为以下用户运行】文本框里可以选择另一个SQL登录名来运行此作业步骤,但必须要是sysadmin固定服务器角色的成员才能进行该项设置。

设置完毕后,单击【确定】按钮返回【步骤】选项卡。图8.8高级设置对话框

6.在图所示对话框里再次单击【添加】按钮,在弹出的【新建作业步骤】对话框里重复第四步,在【命令】文本框里输入以下T-SQL代理内容:INSERT备份时间表(备份时间)VALUES(getdate())该代码的作业是在备份时间里插入一条记录。

7.在对话框里再次单击【添加】按钮,在弹出的【新建作业步骤】对话框里重复第四步,在【命令】文本框里输入以下T-SQL代理内容。BACKUPDATABASENorthwintoDISK=’位置’该代码的作业是分步备份整个数据库。图8.9作业步骤列表

在该选项卡里可以看到,新建的作业一共有3个步骤,每个步骤成功之后都转换下一个步骤,如果报告失败则退出作业,并报告失败的作业。

8.如果没有其他需要,到此为止一个作业就已经创建完毕,在如图8.9所示对话框里单击【确定】按钮完成创建作业任务。此时创建完毕的作业,在【对象资源管理器】的【数据库实例】->【SQLServer代理】->【作业】里可以看到,如下图8.10所示。图8.10完成后的效果8.1.2创建作业在SQLServerManagementStudio里创建作业的步骤如下:1.启动【SQLServerManagementStudio】,连上数据库实例,

在【对象资源管理器】里选择【数据库实例】->【SQLServer代理】->【作业】。2.右击【作业】,在弹出的快捷菜

单里选择【新建作业】选项,弹

出如图8.6所示【新建作业】对话

框.图8.6新建作业对话框8.2作业管理8.2.1作业授权要将作业所有权授予其他人,读者应该完成下述四个步骤:1.在对象资源管理器中,连接到SQLServerDatabaseEngine实例,再展开该实例。2.展开【SQLServer代理】,再展开【作业】,右键单击某个作业,然后单击【属性】。3.在【所有者】列表中,选择一个登录名。您必须是系统管理员才可以更改作业的所有者。4.将作业指派给另一个登录名并不保证新所有者有足够的权限来成功运行该作业。图8.11将作业授予其他人8.2.2作业计划

数据库管理员DBA预先定义一些可预测的管理任务以及这些任务被触发的条件,以实现数据库的自动管理,日常事务也可以使用自动管理来处理,以减轻管理员的工作强度。

作业计划是自动化管理组件的一个成员,其指定了作业运行的时间,多个作业可以根据一个计划运行,多个计划也可以应用到一个作业,即使计划未启用,作业仍可以为响应警报而运行,或者由用户手动运行。1.启动作业(1)在对象资源管理器中,连接到SQLServerDatabaseEngine实例,再展开该实例。(2)展开【SQLServer代理】,再展开【作业】。根据您希望作业以何种方式启动,执行下列操作之一:(3)如果使用的是单台服务器或目标服务器,或者正在一台主服务器上运行一个本地服务器作业,请右键单击要启动的作业,再单击【启动作业】。(4)若要启动多个作业,请右键单击【作业活动监视器】,然后单击【查看作业活动】。在作业活动监视器中,可以选择多个作业,右键单击所选作业,再单击【启动作业】。(5)如果使用的是主服务器并且希望所有目标服务器同时运行作业,请右键单击要启动的作业,单击【启动作业】,再单击【在所有目标服务器上启动】。(6)如果使用的是主服务器并且希望指定运行作业的目标服务器,请右键单击要启动的作业,单击【启动作业】,再单击【在指定的目标服务器上启动】。在【发布下载指令】对话框中,选中【以下目标服务器】复选框,然后选择运行该作业的每台目标服务器。图8.12开始作业2.停止作业(1)在对象资源管理器中,连接到SQLServerDatabaseEngine实例,再展开该实例。(2)展开【SQLServer代理】,再展开【作业】,右键单击要停止的作业,再单击【停止作业】。(3)若要停止多个作业,请右键单击【作业活动监视器】,然后单击【查看作业活动】。在作业活动监视器中,选择要停止的多个作业,右键单击所选区域,再单击【停止作业】。(4)对于多服务器作业,针对该作业的STOP指令将发布到该作业的所有目标服务器中。图8.13停止作业3.向操作员通知作业状态(1)在对象资源管理器中,连接到SQLServerDatabaseEngine实例,再展开该实例。(2)展开【SQLServer代理】,再展开【作业】,右键单击要编辑的作业,选择【属性】。(3)在【作业属性】对话框中,选择【通知】页。图8.14通知作业状态4.将作业状态写入Windows应用程序日志(1)在对象资源管理器中,连接到SQLServerDatabaseEngine实例,再展开该实例。(2)展开【SQLServer代理】,展开【作业】,右键单击要编辑的作业,再单击【属性】。(3)选择【通知】页。(4)请检查【写入Windows应用程序事件日志】,然后执行下列操作之一:单击【当作业成功时】选项,在作业成功完成时记录作业状态。单击【当作业失败时】选项,在作业未能成功完成时记录作业状态。单击【当作业完成时】选项,无论完成状态如何,均记录作业状态。图8.15写入Windows应用程序事件日志5.自动删除作业(1)在对象资源管理器中,连接到SQLServerDatabaseEngine实例,再展开该实例。(2)展开【SQLServer代理】,展开【作业】,右键单击要编辑的作业,再单击【属性】。(3)选择【通知】页。(4)选中【自动删除作业】,并选择以下某项:单击【当作业成功时】以在作业成功完成时删除作业。单击【当作业失败时】以在作业失败时删除作业。单击【当作业完成时】以删除作业,而不管完成状态如何。图8.1a6自动删除作业6.设置目标服务器的轮询间隔(1)在对象资源管理器中,连接到SQLServerDatabaseEngine实例,再展开该实例。(2)右键单击【SQLServer代理】,指向【多服务器管理】,再单击【管理目标服务器】。(3)在【目标服务器状态】选项卡上,单击【发布指令】。(4)在【指令类型】列表中,选择【设置轮询间隔】。(5)在【轮询间隔】框中,输入介于10到28,800之间的秒数,目标服务器必须在经过该秒数后才会轮询主服务器。(6)在【收件人】下,执行以下操作之一:如果所有目标服务器共享同一轮询间隔,单击【所有目标服务器】。如果并非所有的目标服务器都共享同一轮询间隔,则单击【以下目标服务器】,然后选择将使用此轮询间隔的每台目标服务器。8.2.3作业管理

您可以查看任何已创建的作业。运行完一个作业后,还可以查看它的历史记录。查看作业历史记录使您可以查看作业何时运行、整个作业的状态以及作业中每步作业的状态。在作业成功完成后,您可以查看该作业过去是否曾失败,还可以查看作业每次运行时创建的输出内容。sysadmin固定服务器角色的成员可以查看或修改任何作业,而无论作业的所有者是谁。1.查看作业历史记录(1)在对象资源管理器中,连接到SQLServerDatabaseEngine实例,再展开该实例。(2)展开【SQLServe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论