Stairway to SQL Server Agent: Level 1: Setup and Overview翻译

级别1:SQLServer代理设置和概述

SQLServer代理是SQLServer的作业调度和警报服务,如果使用得当,它可以大大简化数据库管理员(DBA)的工作负载。

SQLServer代理的核心是要运行的工具批处理作业..“批处理”只是一组“操作”,通常使用Transact-SQL脚本定义。然后,它们可以作为一个工作,在特定的进度表,当很少用户访问系统时,您可能会选择这样做;换句话说,使用SQL Server代理将它们安排为批处理作业。这些批处理作业可以是从琐碎的T-SQL任务到跨多个SQLServer实例和多台计算机运行的复杂的多系统作业。SQLServer代理还允许您通过电子邮件通知用户,例如,何时完成特定的批处理作业,或何时发生错误(NotificationEngine在级别3中)。

作为一个DBA,您很可能立即能够利用SQLServer代理在新的SQLServer部署中调度作业。例如,您的第一项任务可能是备份系统数据库,并发出邮件警报以告知备份作业是否已完成或失败。随后的作业可能包括设置和调度用户数据库的备份、索引维护操作(重新构建或重组)等等。如果您正在管理一个相当简单的SQLServer系统,那么您将启用维护计划作业调度,例如,使用SSMS数据库维护计划向导。

本文是探索SQL Server Agent特性的第一个层次,并讨论了如何充分利用SQL Server Agent。它将介绍SQL Server Agent的大多数组件和功能,展示如何运行服务,并演示如何从SSMS创建和运行简单的批处理作业。随后的级别将深入研究每个主要组件,包括如何使用SMO、PowerShell和Transact-SQL使用SQLServer代理。

本系列将重点介绍SQLServer 2005、SQL Server 2008和SQL Server 2008 R2;然而,本系列中的大多数信息也适用于SQLServer 2000。

运行SQLServer代理

在SQLServer的初始安装过程中,默认情况下不启用SQLServer代理,因此使用SQLServer代理的第一个简单步骤是让SQLServer代理服务运行。

将代理设置为“使用SQLServer自动启动”

若要将SQLServer代理设置为自动启动,请打开SQLServer配置管理器实用程序,该实用程序位于“MicrosoftSQLServer 2008”\“配置工具”文件夹中。要运行此实用程序,您需要成为本地windows管理员(或与其最好的朋友)。

一旦启动,该实用程序应自动连接到您的本地计算机。单击树中的“SQLServer服务”选项。在右边的面板中,您应该看到已安装的SQLServer服务的列表。其中之一应该是“SQLServer代理(instancename)“哪里instancename如果要配置默认实例,则为安装SQLServer时使用的实例的名称或“MSSQLSERVER”。如果启动模式已设置为“自动”,“很好”,在安装过程中正确配置。如果不是,双击SQLServer代理,单击出现的“属性”对话框中的“服务”选项卡,然后单击“属性”对话框旁边的下拉菜单。启动模式..选择自动,然后单击应用(这应该是什么样子,请参见图1.1)。现在,SQLServer代理将在服务器重新启动并运行SQLServer时自动启动。如果由于某种原因SQLServer代理没有运行,请立即启动服务。

sdf

图1.1-SQLServer代理的SQLServer配置管理器

服务帐户选择

您需要确保根据计划如何使用SQLServer代理配置了适当的服务帐户。如果您正在跟踪,则在SQLServer代理属性的“服务”选项卡上。单击到登录标签。对于SQLServer代理的基本操作,可以使用内置帐户,如网络服务(服务帐户将设置为在SQLServer初始安装期间选择的任何内容)。图2显示了选择对话框。只需从“内置帐户”下的列表中选择NetworkService即可。如果您打算让SQLServer代理连接到远程机器(例如复制文件或管理多个系统),那么您将希望切换到使用域用户帐户(图1.2中的下拉列表中包含的“this Account”选项);可能是为此目的专门创建的。这是您需要从域管理员那里请求的东西。从域管理员的角度来看,您需要一个普通的用户帐户。在任何一种情况下,选择正确的服务帐户,一旦您做了任何更改,您将需要选择“重新启动”按钮,以使新的更改生效。完成之后,单击OK按钮完成SQLServer代理服务的配置。有关服务帐户选择的更多信息,请访问http:/msdn.microsoft.com/en-us/Library/cc281953.aspx.

dfsdf

图1.2-SQLServer代理的服务帐户选择

创造你的第一份工作

现在SQLServer代理正在运行,您可以创建第一个作业。通过演示,我们将设置一个作业来执行一个关键的DBA任务,即备份您的系统数据库,这样,您就可以创建一个自动的作业来帮助您完成这些数据库,而不必记住手动备份这些数据库。

就业

工作是单个逻辑任务(例如备份数据库)的核心容器。该任务将包含一个或多个作业步骤..作业可能包括通知(例如,在作业失败时发送电子邮件给DBA)、调度(当您希望作业运行时),甚至可能在多个系统上运行。然而,对于我们的第一个备份任务,我们将保持简单。

若要创建作业,请打开SSMS并连接到SQLServer实例。展开SQLServer代理节点,然后右键单击作业。选择创建新职务的选项(“新建职务…”)如图1.3所示。

lkjlk

图1.3-启动“新职务”对话框

作业有许多组件,如图1.4所示。

kjh

图1.4-“新职务”对话框

我们将把这项工作命名为“备份主数据库”。这将是用于引用SSMGUI或PowerShell中的作业的名称。工作类别可能是组织你的工作的一种有用的方式,但对你的第一份工作来说,设置一个类别并不重要。您将学习如何在以后的级别中指定类别。在“描述”框中,写一些能帮助你记住为什么要创建这份工作以及它应该做什么的东西。请记住,其他人很可能不得不稍后管理这个系统,并且,由于他们没有创建这个工作,他们将不知道它应该完成什么,以及它是否重要。

完成了所有这些之后,您基本上已经创建了作业“shell”,它只是作为NewJobDialog选项卡的所有组件的“shell容器”。作业中最重要的部分是其他选项卡上的组件。

作业步骤

SQLServer代理中的作业至少由一个作业步骤组成。当大多数人想到SQL Server作业执行某些工作时,他们真正的意思是一个作业步骤。作业步骤由您希望执行的操作类型定义,并包括运行下列作业子系统的能力:

  • ActiveX
  • 操作系统(CMDExec)
  • Powershell
  • 各种复制任务
  • SQL Server Analysis Services(SSAS)命令(即XML/A)
  • SQLServer分析服务(SSAS)查询(MDX)
  • SQLServer集成服务(SSIS)包(SQLServer 2000中的DTS包)
  • transact-SQL脚本(T-SQL)

对于大多数SQLServer DBA来说,大部分作业将使用最后一种类型的作业步骤T-SQL。作业可以作为作业所有者运行,也可以使用其他安全上下文运行,这取决于作业所有者的权限和代理的配置。作业步骤和子系统将在下一个级别中更详细地讨论。

正如您在SSMGUI中所看到的,控制作业步骤的选项卡被简单地称为“步骤”。现在单击它,我们将创建一个作业步骤。单击对话框底部的“New”按钮,然后启动“NewJobStep”对话框(参见图1.5)。

poipo

图1.5-新职务步骤

给作业步骤一个有用的名称-在我们的例子中,作业名称和步骤名称可能是相同的-“备份主数据库”。作业步骤类型将是T-SQL,因为我们将使用一个简单的备份命令来备份数据库。现在,您可以忽略“RunAs”,默认情况下,我们将作为作业的所有者(即您)运行作业步骤。默认情况下,数据库将正确地设置为我们要做的事情,即在Master中工作。

对于命令本身,您可以打开一个文件,也可以在查询窗口中编写的一些有效的T-SQL中复制和粘贴文件。为了保持简单,我们执行一个简单的备份命令。如果没有在C驱动器上安装SQLServer,则需要将文件位置更改为在计算机上工作的文件位置。我展示的示例来自SQL Server的简单虚拟机安装,全部安装在一个硬盘上。您不应该在这样的一个硬盘驱动器上看到一个生产SQLServer!

     BACKUP DATABASE master
	TO DISK='C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\master.bak'
	WITH INIT

完成后,应该如图1.6所示。单击“确定”创建作业步骤。

iuyiu

图1.6-已完成的作业步骤

作业时间表

作业计划控制作业何时实际启动。有四种类型的工作时间表:

  • SQLServer代理启动时自动启动
  • 每当CPU空闲时启动
  • 反复出现
  • 一次

大部分作业计划将是重复类型的(例如,在周日下午7时每周运行一次备份)。计划是SQLServer代理中的单独对象,一个计划可以连接到多个作业。

对于我们的工作,我们希望每周备份数据库。因此,单击Schedulations选项卡,并选择New创建一个新的作业计划,如图1.7所示。将作业计划命名为实用的(因为它们可以在作业之间共享)。我称之为“每周系统备份”。幸运的是,对我们来说,这个页面上的缺省值会非常好!我们将每周运行一次,星期日,午夜。当您指定计划时单击“确定”,然后再次单击“确定”以完成职务的创建。

lkjl

图1.7-新工作计划

运行您刚刚创建的作业

既然我们已经创建了备份作业,那么最好运行该作业来验证我们所做的一切都是正确的。即使我们将此作业安排为每周运行一次,但我们始终可以根据需要手动运行作业。在SSMS中,在“乔布斯”文件夹下,您现在应该看到您的职务。右键单击该作业,并选择“Start Jobat Step…”,如图1.8所示。作业将运行,现在备份主数据库。

iouoiu

图1.8-在SSMS中启动作业

接下来是什么?

在接下来的几个级别中,我们将更深入地研究SQLServer代理的每个领域,以及作业和警报可以极大地增强SQL Server系统的功能并使您的生活更轻松的具体示例。下一层将着重于创建和配置作业步骤,了解各种作业子系统和作业步骤安全性。

本文是母楼梯的一部分。SQLServer代理的阶梯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值