第十五周翻译:Stairway to SQL Server Agent: Level 1: Setup and Overview

原著信息:Stairway to SQL Server Agent: Level 1: Setup and Overview
作者:Richard-Waymire
日期:2013-01-02 (第一次出版:2011-02-17)


Stairway to SQL Server Agent: Level 1: Setup and OverviewSQLServer代理的楼梯:级别1:安装和概述


Level 1: SQL Server Agent Setup and Overview级别1:SQLServer代理设置和概述

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

SQLServer代理的核心是运行批处理作业的工具。“批处理”只是一组“操作”,通常使用Transact-SQL脚本定义。然后可以按照特定的计划作为作业运行,当很少用户访问系统时,您可能会选择这样做;换句话说,它们被调度为批处理作业,使用SQL Server代理。这些批处理作业可以是从琐碎的T-SQL任务到跨多个SQLServer实例和多台计算机运行的复杂的多系统作业。SQLServer代理还允许您通过电子邮件通知用户,例如,何时完成特定的批处理作业,或何时发生错误(通知引擎包括在第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。


Getting SQL Server Agent Running运行SQLServer代理

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


Setting the Agent to Auto-start with SQL Server将代理设置为“使用SQLServer自动启动”

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

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

在这里插入图片描述
图1.1: 是SQLServer代理的SQLServer配置管理器


Service Account Selection服务帐户选择”

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

在这里插入图片描述
图1.1: SQLServer代理的服务帐户选择


Creating your first Job创造你的第一份作业”

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

Jobs作业

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

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

在这里插入图片描述
图1.3: 启动“新职务”对话框

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

在这里插入图片描述
图1.4: “新任务”对话框

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

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

Job Steps作业步骤

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”按钮,然后启动“New Job Step”对话框(参见图1.5)。

在这里插入图片描述
图1.5: 新工作步骤

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

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

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

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

在这里插入图片描述
图1.6: 已完成的作业步骤

Job Schedules作业时间表

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

  • SQLServer代理启动时自动启动
  • 每当CPU空闲时启动
  • 再发生,复发( recur的现在分词 )
  • 一次

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

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

在这里插入图片描述
图1.7: 新工作计划

Run the Job you just created运行您刚刚创建的作业

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


图1.8: 在SSMS中启动作业


What’s Next?接下来是什么?

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

本文是SQLServer代理的父级楼梯的一部分。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值