zoukankan      html  css  js  c++  java
  • SQL Server 代理配置

    今天学习了一下SQL Server 代理配置的知识,这篇文章讲述的很详细,用来收藏学习

    本篇文章转载自:https://www.cnblogs.com/woodytu/p/5137714.html

    原文链接:http://www.sqlservercentral.com/articles/Stairway+Series/72267/

    SQL Server代理是所有实时数据库的核心。代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的。这系列文章会通俗介绍它的很多用法。


    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。

    让SQL Server代理运行起来

    在SQL Server初始配置期间,SQL Server代理默认是不启用,因此使用SQL Server代理的第一个步骤,是让SQL Server代理运行起来。

    设置代理和SQL Server自动启动

    为了设置SQL Server代理自动启动,点击【开始】【Microsoft SQL Server 2008 R2】【配置工具】,打开【SQL Server 配置管理器】。你需要是本地Windows管理员账户来运行这个工具。

    一旦启动后,这个工具会自动连接你的本地电脑。在树型里点击【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配置管理器

    服务账号选择

    基于你要在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代理进行一些工作时,他们真正的意思是作业步骤。作业步骤是你定义的想要进行的行动类型,包括一下能运行的作业子系统:

    • ActiveX
    • 操作系统(CMD的运行)
    • PowerShell
    • 各种复制任务
    • SQL Server分析服务(SSAS)命令(例如XML/A)
    • SQL Server分析服务(SSAS)查询(MDX)
    • SQL Server集成服务(SSIS)包(SQL Server 2000li de DTS包)
    • T-SQL脚本

    对于大多数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 FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLBackupmaster.bak'
    3     WITH INIT

    完成后的样子如插图1.6所示,点击【确定】创建作业步骤。

    插图1.6——完成的作业步骤

    作业计划

    作业计划控制着什么时候作业会自动启动。作业计划有四个类型:

    • SQL Server代理启动的自动启动
    • CPU空闲时启动
    • 循环执行
    • 执行一次

    大部分的作业调度会循环执行(例如,在每周日下午7点运行一次我的备份)。计划在SQL Server代理里是独立的对象,一个计划可以关联到多个作业步骤。

    对于我们的作业,我们希望数据库每周备份。因此,点击计划标签页,点击【新建】来创建作业计划,如插图1.7所示。命名计划有意义的名称(因为它们会在作业间共享)。我命名它为“每周系统备份”。幸运的是,这个页面的默认设置就可以了!我们一个星期运行一次,在周日,0点运行。点击【确定】,再次点击【确定】完成作业的创建。

    插图1.7——新建作业计划

    运行刚创建的作业

    现在偶们已经创建好我们的作业,我们运行来验证下是否正确。即使我们计划这个作业每周运行,我们还是按需要人为运行它。在SSMS里,在【作业】文件夹下,现在你会看到你的作业。右击作业,选择【作业开始步骤】,如插图1.8所示。作业会运行,现在你的master数据库已经备份。

    插图1.8——在SSMS里启动作业

  • 相关阅读:
    hdu 2222 Keywords Search
    Meet and Greet
    hdu 4673
    hdu 4768
    hdu 4747 Mex
    uva 1513 Movie collection
    uva 12299 RMQ with Shifts
    uva 11732 strcmp() Anyone?
    uva 1401
    hdu 1251 统计难题
  • 原文地址:https://www.cnblogs.com/da-tong/p/12510773.html
Copyright © 2011-2022 走看看