本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文


在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划。你还简单地看了SSIS子系统,并查看了维护计划作业步骤的属性。在最后一篇,你将学习MSX/TSX,SQL Server代理多服务器管理。MSX/TSX允许你在多个系统上运行作业,然后将作业结果和历史记录保存到一个SQL Server实例上。
使用MSX/TSX多服务器管理——概念
多服务器管理功能,也被称为MSX/TSX特征(即主/目标服务器)已经提供了好几个版本的SQL Server。MSX/TSX提供在主服务器上定义SQL Server代理作业,然后作业运行在一个或多个目标服务器。这些目标服务器还可以发送事件到主服务器,这样你就可以在单一的视图中查看多服务器的SQL Server代理事件。
为了正确地理解MSX/TSX环境,你需要先了解一些术语和概念。包括:
->主服务器(MSX)
主服务器(MSX)是主机服务器,作业、作业步骤、计划调度都是在其上面创建。此外,作业的结果将从目标服务器的传送到主服务器。你可以在主服务器上查看所有作业的结果。
->目标服务器(TSX)
目标服务器(TSX)由一个或多个服务器配置为接受来自主服务器的作业,并报告作业跑回到主服务器(MSX)的结果。目标服务器会偶尔连接到MSX服务器下载作业,和更新作业。
->轮询间隔
在轮询间隔时目标服务器才连接到主服务器下载/更新。默认情况下,轮询间隔是一分钟。你可以改变这个间隔,基于网络负载或你需要更多或更少同步频率。
注意:在SQL Server 2008中,介绍了一种新的基于策略的管理。它的特征与MSX/TSX完全无关。
SQL Server版本之间兼容性是MSX/TSX配置中的一个关键问题。只要你的服务器都是SQL Server 2008,那么你不需要关心这个。然而,如果你像大多数人一样,有一个混合的环境,你应该仔细查看MSDN的兼容性图表关于主服务器和目标服务器之间的兼容性。在某些情况下它甚至取决于下层服务器服务包级别。
安装程序和安全注意事项
一个MSX/TSX的环境下取得成功,一些安全方面的考虑必须解决。对于SQL Server代理服务帐户安全的考虑,并有加密考虑MSX和TSX服务器之间的通信。
服务帐户选择
经常使用的默认服务帐户,如网络服务(Network Service),可能不适合你的MSX/TSX环境。因为你需要SQL Server代理服务与其他服务器和/或实例进行通信,你需要一个可以在网络上通信正常的帐户。本地服务帐户不能使用,因为你连接到远程服务器会有困难。域用户帐户,或机器帐户,是更好的选择。在所有的情况下,它不要求服务帐户是服务器上的Windows管理员被用于在MSX/TSX环境。
加密选项
如果你想禁用服务器之间的通信加密,你可以编辑SQL Server实例上的注册表。这是不推荐的,但是如果你必须这样做,请参考文档,并仔细考虑你在做什么。只有在一个很古老的MSX/TSX服务器环境才会考虑,如SQL Server 2000系统。
请注意,如果你想在家用系统配置这个,或系统没有安全证书,你将需要设置注册表禁用加密否则MSX/TSX设置肯定会失败。
设置MSX/TSX
对于这一步的目的,演示环境是同一台机器上有三个数据库实例。提前在SSMS中将这三个实例注册到资源管理器。默认实例将设置为主服务器,另外两个实例将这里命名为Target1和Target2。
建立MSX/TSX的最简单的方法是使用主服务器向导。右键单击您的SQL Server代理节点,选择多服务器管理->将其设置为主服务器...(如图12.1所示)

图12.1 启动主服务器向导
这将启动主服务器向导,你会看到欢迎画面,如图12.2所示。单击“下一步”,呈现主服务器操作员界面,如图12.3所示。输入相应的联系信息,然后单击“下一步”。

图12.2 主服务器向导欢迎页面

图12.3 主服务器操作员
单击“下一步”,会出现目标服务器”对话框(图12.4)。你可能需要在这个对话框中注册你的连接,所以点击添加连接……并添加适当的连接。对于这一步的目的,你会使用本地实例Target1和Target1。你可以随时返回,添加或删除服务器或实例。
再次单击“下一步”,和你选择的目标服务器的连接进行验证,如图12.5所示。单击“关闭”,你会被要求到指定的登录凭据。如果可能的话,接受默认设置,使用服务帐户与Windows身份验证的连接,如图12.6所示。如果你已经创建服务帐户的登录,你不需要向导为你创建登录。

图12.4 设置目标服务器

图12.5 设置目标服务器验证

图12.6 主服务器登录凭据
点击下一步,完成,你应该看到类似图12.7的向导完成后,你的默认实例为主服务器,另外两个实例作为目标服务器。你可能会得到与登录创建错误,如图12.7所示(由于在本地08和12配置有问题,图片12.8-12.11引用原文图片)。如果发生这种情况,只要登记进程成功你就可以忽略错误。错误可能仅仅意味着服务帐户已配置。

图12.7 完成向导
如果你现在刷新你的SQL Server代理节点,你会注意到,它显示每个节点的MSX/TSX的角色,如图12.8所示。

图12.8 配置好MSX/TSX后的SSMS
创建一个MSX/TSX作业
现在你已经配置完环境,是时候来创建一个主作业,将运行在所有的服务器上,并报告状态给你的主服务器。主服务器上创建一个新的作业,只有简单步骤(T-SQL类型select * from sys.all_objects)。点击目标选项卡(如图12.9所示),并选择两个目标服务器。单击“确定”,作业在主服务器上创建完成。

图12.9 让作业运行于目标服务器
等待至少一分钟,因为作业复制到目标服务器有轮询间隔的,然后刷新你的SQL Server代理作业节点,你会看到类似图12.10。注意,在主服务器上,你现在有个多服务器作业文件夹;目标服务器上会正常显示作业。

图12.10 主服务器上的作业复制到目标服务器
现在,在你的TSX服务器运行作业。等待一分钟左右,然后回到你的主服务器,右击MSXTest作业,选择查看历史记录。现在你会注意到从每个TSX服务器的历史反馈回来(注意在日志文件查看器中的Server列),如图12.11所示。

图12.11 主服务器上查看作业历史记录
事件转发
你也可以配置SQL Server错误事件转发到中心服务器,比如你的MSX服务器。这将产生额外的网络流量,但你可以在中心服务器上查看所有TSX服务器相关的事件。右键单击SQL Server代理节点,选择属性,然后在高级选项卡。你可以选择“将事件转发到其他服务器”,输入服务器名称,然后配置要转发的事件。例如,图12.12显示了一个配置,只将未处理的系统事件(严重性为17或更高)转发到MSX服务器。

图12.12 配置事件转发
下一篇
这一篇涉及SQL Server代理多服务器管理功能,MSX/TSX。你可以使用一个MSX/TSX环境集中管理作业,以及集中的事件报告。使用此功能,减少你必须连接到监视系统状态的服务器的数量。
谢谢你抽出时间来阅读SQL Server代理系列文章!

【译】第十二篇 SQL Server代理多服务器管理的更多相关文章

  1. 第十二篇 SQL Server代理多服务器管理

    本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文 在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划.你还简单地看了SSIS子系统,并查看了维护计划作 ...

  2. 【译】第八篇 SQL Server代理使用外部程序

    本篇文章是SQL Server代理系列的第八篇,详细内容请参考原文 在这一系列的上一篇,学习了如何用SQL Server代理作业活动监视器监控作业活动和查看作业历史记录.在实时监控和管理SQL Ser ...

  3. 【译】第六篇 SQL Server代理深入作业步骤工作流

    本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...

  4. 【译】第五篇 SQL Server代理理解代理错误日志

    本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...

  5. 【译】第十一篇 SQL Server代理维护计划

    本篇文章是SQL Server代理系列的第十一篇,详细内容请参考原文 在这一系列的上一篇,我们看了使用代理帐户模仿Windows安全上下文完成作业步骤的工作.大多数子系统支持代理账户,同时子系统限制代 ...

  6. 【译】第七篇 SQL Server代理作业活动监视器

    本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文 在这一系列的上一篇,你创建并配置SQL Server代理作业.每个作业有一个或多个步骤,可能包含大量的工作流.在这篇文章中,将查看作 ...

  7. 【译】第四篇 SQL Server代理配置数据库邮件

    本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...

  8. 【译】第三篇 SQL Server代理警报和操作员

    本篇文章是SQL Server代理系列的第三篇,详细内容请参考原文. 正如这一系列的上一篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行,除了步骤中执行的工 ...

  9. 【译】第十篇 SQL Server代理使用代理帐户

    本篇文章是SQL Server代理系列的第十篇,详细内容请参考原文 在这一系列的上一篇,你查看了msdb库下用于授权访问SQL Server代理的安全角色.这些角色包括SQLAgentUserRole ...

随机推荐

  1. IPV6 简单总结

    1. 转帖别人的内容 来源:https://www.2cto.com/net/201112/114937.html 2. 本地用IPV6单播地址 (包括链路本地单播地址 和 站点本地单播地址) 2.1 ...

  2. SQL利用Case When Then多条件

    CASE    WHEN 条件1 THEN 结果1    WHEN 条件2 THEN 结果2    WHEN 条件3 THEN 结果3    WHEN 条件4 THEN 结果4.........    ...

  3. sqlserver中where条件加判断

    我想实现如下功能: where case when (@a = null) then 1 = 1 else @a=a and b=@b 但是这样报错,经过翻阅资料找到如下解决方案: where (1 ...

  4. MySql--学习成长过程

    MySql--学习成长过程 模拟测试: QQ数据库管理 一.创建数据库并添加关系和测试数据 1 ##创建QQ数据库,完成简单的测试 2 3 #创建数据库 4 DROP DATABASE IF EXIS ...

  5. 深入理解HashMap(原理,查找,扩容)

    面试的时候闻到了Hashmap的扩容机制,之前只看到了Hasmap的实现机制,补一下基础知识,讲的非常好 原文链接: http://www.iteye.com/topic/539465 Hashmap ...

  6. In Place Algorithm

    本篇是in place algorithm的学习笔记.目前学习的是in place merge与in place martrix transposition这两个算法. 1.in place merg ...

  7. Android性能优化:手把手带你全面了解 内存泄露 & 解决方案

    . 简介 即 ML (Memory Leak)指 程序在申请内存后,当该内存不需再使用 但 却无法被释放 & 归还给 程序的现象2. 对应用程序的影响 容易使得应用程序发生内存溢出,即 OOM ...

  8. 一步步创建第一个Docker App —— 1. 背景介绍

    原文:https://docs.docker.com/engine/getstarted-voting-app/#/docker-stacks-and-services 你将会学习什么    本文创建 ...

  9. kafka问题集(一):broker少于kafka节点数

    问题集仅为个人实践,若有不准确的,欢迎交流! 一.现象: 集群有3台kafka服务器,而kafka 的9002界面上broker仅有2个:log.dirs配置路径为/data/kafka/data,而 ...

  10. Moonraker:1靶机入侵

      0x01 前言 攻击Moonraker系统并且找出存在最大的威胁漏洞,通过最大威胁漏洞攻击目标靶机系统并进行提权获取系统中root目录下的flag信息. Moonraker: 1镜像下载地址: h ...