SQL Server代理是全部实时数据库的核心。代理有不少不明显的用法,所以系统的知识,对于开发人员仍是DBA都是有用的。这系列文章会通俗介绍它的不少用法。sql
SQL Server代理是SQL Server做业调度和报警服务,使用得当的话,会大大简化数据库管理员(DBA)的工做。数据库
SQL Server代理的核心是运行批处理做业(batch jobs),“批”是简单的“一系列操做”,一般用T-SQL脚本定义。这些能够做为做业(job)运行,在特定计划(schedule)上,你会选择安排在少数用户访问数据库的时候;换句话说,它们以批处理做业使用SQL Server代理进行计划。这些批处理做业能够是任何东西,从零碎的T-SQL任务,到复杂的,在多个SQL Server实例和多个计算机间运行的多个系统做业。SQL Server也容许你通知用户,例如经过邮件,当特定批处理做业完成时,或当错误发生时(通知引擎会在第3篇文章谈到)。
安全
极可能,做为DBA的你,但愿能当即在新部署的SQL Server上使用SQL Server代理来计划做业。例如,你的第一个任务会是备份系统数据,使用电子邮件警报来告诉你备份做业成功仍是失败。接下来的任务会包括你的用户数据库的配置和计划备份,索引维护操做(重建或重组)等等。若是你管理至关简单的SQL Server系统,那么你会启用维护计划来计划做业安排,例如,使用SSMS数据库维护计划向导。服务器
这篇文章是探索SQL Server代理功能的第1篇,讨论下如何充分利用SQL Server代理。它包括介绍主要的组件和SQL Server代理的功能,展现如何让这个服务运行起来,并演示下如何从SSMS建立和执行简单的批处理做业。接下来的文章会深刻每一个组件,包括如何使用SQL Server代理结合使用SMO,PowerShell和T-SQL。
工具
这系列文章会集中于SQL Server 2005, SQL Server 2008和SQL Server 2008 R2;可是,在这个系列里的大部分信息一样适用于SQL Server 2000。sqlserver
在SQL Server初始配置期间,SQL Server代理默认是不启用,所以使用SQL Server代理的第一个步骤,是让SQL Server代理运行起来。学习
为了设置SQL Server代理自动启动,点击【开始】【Microsoft SQL Server 2008 R2】【配置工具】,打开【SQL Server 配置管理器】。你须要是本地Windows管理员帐户来运行这个工具。spa
一旦启动后,这个工具会自动链接你的本地电脑。在树型里点击【SQL Server 服务】,在右侧的面板里,你会看到安装的SQL Server服务列表。其中应该是“SQL Server 代理(实例名称)”,实例名称要么是你安装的SQL Server实例名称,或者是“MSSQLSERVER”,若是你配置了默认实例。若是【自动模式】已经设置为【自动】,太好了,在安装期间这已经正确配置。若是没有,双击【SQL Server代理】,在出现的属性对话框里点击【服务】标签,点击【启动模式】,下拉里选择【自动】,而后点击【应用】(如插图1.1所示)。如今当服务器重启的时候,SQL Server代理会自动启动,SQL Server也是运行的。若是SQL Server代理没有运行,如今就启动这个服务。操作系统
插图 1.1——为SQL Server代理配置SQL Server配置管理器3d
基于你要在SQL Server代理上计划要作的,你须要保证你已经配置了合适的服务帐号。若是你循序渐进来的话,你应该在SQL Server代理属性的【服务】标签页。点回【登陆】标签页。对于SQL Server代理的基本操做,你可使用内置帐号,例如Network Service(在SQL Server安装期间,这个服务帐号会被默认选择,无论选了什么服务)。插图2就是选择对话框。直接从内置帐户里选择【Network Service】。若是你想让SQL Server代理链接到远程电脑(复制文件,例如管理多个系统)那么你会切换使用域用户帐号(在插图1.2里,本帐户已被下拉框覆盖);颇有可能有一个特定的帐号来指定。这是你要文你的域管理员。你会须要从域管理员角度来索取一个原始帐号。无论怎样,选择正确的服务帐号后,一旦你作出任何修改,你会须要选择【从新启动】来让新的改动生效。一旦你完成这个,点击【肯定】来完成SQL Server代理服务的配置。你能够在微软在线帮助了解更多服务帐号选择的信息:服务器配置 - 服务账户。
插图1.2:为SQL Server代理选择服务帐号
选择SQL Server代理已经运行,你能够建立你的第一个做业。经过示范,咱们会配置一个做业来进行一些DBA的职责,备份你的系统数据库,没必要手动记得备份这些数据库,你能够建立会为你完成的自动化做业。
做业是单个逻辑任务的核心容器,例如备份数据库。这个任务会包含一个或多个做业步骤。这个做业会包括提醒(例如,若是做业失败提醒DBA),计划(何时你想运行这个做业),甚至在多个系统里运行。对于咱们的第一个备份做业,无论怎样,咱们会保持它简单。
为了建立做业,打开SSMS链接到你的SQL Server实例。展开SQL Server代理节点,右击做业,选择【新建做业】,如插图1.3所示。
插图1.3——运行【新建做业】对话框
一个做业有多个组件,如你在插图1.4所示。
插图1.4——【新建做业】对话框
咱们命名做业名为“备份Mater数据库”。这个名称会在SSMS图形用户界面里的做业或PowerShell里引用。做业【类别】会是组织你做业的有效方式,但对于你的第一个做业设置类别并不重要。你会在接下来的文章学习指定【类别】。在【说明】文本框里,写些能够帮助你记住为何你建立这个做业和它应该作什么。记住其余人之后也会管理这个系统。由于他们没有建立这个做业,他们不会知道这个应该实现啥,这个做业是否重要。
作完这些,你已经基本完成建立做业的“外壳”,对于你在新建做业对话框里看到的全部组件,它只是“外壳的容器”。做业的最重要部分是其余标签里的组件。
SQL Server代理里的做业至少要有一个做业步骤组成。当大多数人想SQL Server代理进行一些工做时,他们真正的意思是做业步骤。做业步骤是你定义的想要进行的行动类型,包括一下能运行的做业子系统:
对于大多数SQL Server的DBA来讲,你的主要工做是使用做业步骤的最后一类,T-SQL。做业能够做为做业全部者运行,也可使用另外一个安全上下文,取决于做业全部者的权限和代理配置。做业步骤和子系统会在下篇文章详细介绍。
如你在SSMS图形用户界面里所见,控制做业步骤的标签页为“步骤”。如今点击它,咱们来建立一个做业步骤,点击对话框底部的【新建】按钮,【新建做业步骤】对话框会被打开(如插图1.5)。
插图1.5——新建做业步骤
给做业步骤去个有用的名称——在咱们的状况里,做业名称和步骤名称能够是一致的——“备份Master数据库”。做业步骤会是T-SQL,由于咱们使用简单的BACKUP命令作数据库备份。如今你能够忽略【运行身份】,默认状况咱们做为做业拥有者来运行做业步骤。对于咱们的操做,数据库默认设置正确,是在master里运行的。
对于【命令】自己,你能够打开一个文件,或者复制粘贴一些合法在查询窗口的T-SQL。简单起见,咱们进行一个简单的备份命令。若是你不是在C安装的SQL Server,你须要修改文件位置到指定位置。我这里默认安装在C盘,在生产数据库里系统数据库和用户数据库不会放在同个硬盘。
1 BACKUP DATABASE master 2 TO DISK='C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\master.bak' 3 WITH INIT
完成后的样子如插图1.6所示,点击【肯定】建立做业步骤。
插图1.6——完成的做业步骤
做业计划控制着何时做业会自动启动。做业计划有四个类型:
大部分的做业调度会循环执行(例如,在每周日下午7点运行一次个人备份)。计划在SQL Server代理里是独立的对象,一个计划能够关联到多个做业步骤。
对于咱们的做业,咱们但愿数据库每周备份。所以,点击计划标签页,点击【新建】来建立做业计划,如插图1.7所示。命名计划有意义的名称(由于它们会在做业间共享)。我命名它为“每周系统备份”。幸运的是,这个页面的默认设置就能够了!咱们一个星期运行一次,在周日,0点运行。点击【肯定】,再次点击【肯定】完成做业的建立。
插图1.7——新建做业计划
如今偶们已经建立好咱们的做业,咱们运行来验证下是否正确。即便咱们计划这个做业每周运行,咱们仍是按须要人为运行它。在SSMS里,在【做业】文件夹下,如今你会看到你的做业。右击做业,选择【做业开始步骤】,如插图1.8所示。做业会运行,如今你的master数据库已经备份。
插图1.8——在SSMS里启动做业
在接下来的文章里咱们逐步深刻探索SQL Server代理的每一个领域,伴随特定场景的例子,做业和警告可大大加强你的SQL Server数据库的功能,让你的生活更加轻松。下篇文章会聚焦建立和配置做业步骤,理解不一样的做业子系统和做业步骤安全。
感谢关注!
原文连接:http://www.sqlservercentral.com/articles/Stairway+Series/72267/