• 【译】第十二篇 SQL Server代理多服务器管理


    本篇文章是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代理系列文章!

  • 相关阅读:
    说说与线程相关的方法
    sleep()和yield()有什么区别?
    同步和异步有何异同,分别在什么情况下使用?
    如何保证多个线程同时启动?
    volatile关键字能否保证线程安全?
    使用对象的wait()方法需要注意什么?
    乐观锁与悲观锁是什么?
    Condition实现等待、唤醒
    LongAdder与AtomicLong有什么区别?
    介绍一下ForkJoinPool的使用
  • 原文地址:https://www.cnblogs.com/Uest/p/4634343.html
Copyright © 2020-2023  润新知