问题:

需要在很多的SQL Server服务器上创建相同的作业。我们可以一台一台的运行相同的脚本创建作业,但是有没有什么简便的做法呢?

解决方法:

可能很多人都没有注意到可以用多服务器环境管理SQL Agent job和维护计划。如果需要在非常多的SQL实例上面创建相同的作业,多服务管理就非常有用。下面我们来一步一步的介绍如何创建多服务器环境。

我的机器上面安装了Principal 和Mirror两个2008 R2的实例。首先要将这两个实例注册。如果无法看到Registered Servers界面,可以到'View' | 'Registered Servers' 或者用快捷键 'Ctrl + Alt +G'.

当两个实例都注册后我们开始配置多服务环境。首先在主服务器点击'SQL Server Agent',选择'Multi Server Administration' | 'Make this a Master…'

点击Next进入Master Server 向导。

下一个界面会要求我们配置一个操作员。跟我们在本地创建操作员步骤相同,或者你可以不输入操作员(不推荐)。点击Next按钮继续

在目标服务器窗口选择目标实例。可以选择多个实例,但是在这个例子中我们只使用一个实例作为目标。目标服务器可以从'Registered Servers'或者点击'Add Connection...'增加。我使用Mirror作为目标实例,点击'Next'继续

在这步,SQL Server会检查Master和Target的兼容性:

在” Master Server Login Credentials screen security”界面会在Master和Target检查权限。如果需要的话,可以打勾创建一个新的Login并且在master上赋予权限。点击'Next' button to 继续

点击'Finish'按钮完成配置过程。

注意:常见的问题是配置过程中会出现22026的错误,解决这个错误需要修改SQL Server注册表:将 'HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\\SQLServerAgent下面的’MsxEncryptChannelOptions'值修改为0.然后保存注册表(在修改之前做好备份)

现在验证是否配置成功,用SSMS连接到两台实例,可以看到SQL Server Agent出现'(MSX)' 或者'TSX (MSX: master server TSX: target servers)

为了配置一个多服务器的作业,需要连接到Master服务器,选择'SQL Server Agent' | 'Jobs' | 'Multi-Server Jobs".可以选择在本机部署或者发布到多台目标服务器。

完成之后保存作业,然后在两台服务器上面查看:

对于创建维护计划也是同样的方法,连接到Master服务器,打开'Management' | 'Maintenance Plans' |,点击'New MaintenancePlan…',命名维护计划。

配置维护计划需要选择”Servers” 按钮,挑选要部署的目标服务器。

完成之后保存维护计划,可以看到执行计划已经被成功部署到目标服务器。

通过SQL Server自己提供的多服务器管理,不借助第三方的工具,我们就可以快速的部署作业到管理的服务器上。而且可以通过Policy进行管理。

更多的信息可以参考:创建多服务器环境

原文来自于:SQLServer Multi Server Administration

SQL Server快速部署作业到多台服务器的更多相关文章

  1. SQL Server 批量创建作业(备份主分区)

    一. 需求背景 在我的数据库实例中,有很多类似下图所示的数据库,这些数据库的名称是有规律的,每个数据库包含的表都是相同的,其中2个表是类似流水记录的表,表的数据量会比较大,占用的空间有几十G到上百G不 ...

  2. sql server 维护计划与作业关系区别

    sql server 维护计划与作业关系区别 对于二者的区别,你可以把维护计划看作是针对数据库进行维护的作业模板.自定义作业具有更广泛的用途,当然,也具有更复杂的操作.所以,如果 仅仅是做个数据库优化 ...

  3. 如何修改 SQL Server 代理主作业 (Transact-SQL)

    本主题介绍了如何使用存储过程修改 Microsoft SQL Server 代理主作业. 更改作业定义计划的详细信息 1.       执行 sp_update_schedule. 在作业中添加.更改 ...

  4. SQL Server 2008 定时作业的制定(SQL2005参考此方法) 转

    --  Author : htl258(Tony)--  Date   : 2010-04-29 19:07:45--  Version:Microsoft SQL Server 2008 (RTM) ...

  5. SQL Server 2008 定时作业的制定

    --SQL Server 2008 定时作业的制定 --1.打开[SQL Server Management Studio],在[对象资源管理器]列表中选择[SQL Server 代理]: --2.鼠 ...

  6. jenkins自动部署代码到多台服务器

    下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...

  7. SSIS SQL Server配置自动作业

    目录: 一. 用SSMS配置作业,自助调度: 二.用SSMS调SSIS包: 一. 用SSMS配置作业,自助调度: 为验证数据,先创建一个表: CREATE TABLE test_table (id I ...

  8. SQL Server性能计数器部署(批量)

    一.计数器部署项目介绍 SQL Server每个服务器,日常需要监控的计数器指标高达上百,若一个个手动添加非常麻烦.此项目通过命令行工具针对指定计数器集成部署,提高部署效率.此包括开发数据库互联(OD ...

  9. 第九篇 SQL Server代理了解作业和安全

    本篇文章是SQL Server代理系列的第九篇,详细内容请参考原文 在这一系列的上一篇,学习了如何在SQL Server代理作业步骤启动外部程序.你可以使用过时的ActiveX系统,运行批处理命令脚本 ...

随机推荐

  1. dump调试函数

    //dump调试函数if (!function_exists('dump')) { /* * dump调试函数 */ function dump($var) { $traces = debug_bac ...

  2. 初识 Fuzzing 工具 WinAFL

    转:https://paper.seebug.org/323/ 初识 Fuzzing 工具 WinAFL 作者:xd0ol1(知道创宇404实验室) 0 引子 本文前两节将简要讨论 fuzzing 的 ...

  3. Android之 ListView(1)

    ListView是Android中最常用的控件之一. 当有太多数据需要显示的时候,ListView就派上用场了.它允许用户通过滑动手指的方式,将数据滑入滑出界面. 一.最简单的ListView实现 1 ...

  4. 基于springboot实现http响应异常信息国际化

    背景 国际化是指在设计软件,将软件与特定语言及地区脱钩的过程.当软件被移植到不同的语言及地区时,软件本身不用做内部工程上的改变或修正. 本文提到的异常响应信息国际化是指:前端向后台发起请求,后台在处理 ...

  5. Maven的安装及修改为阿里云下载依赖

    使用JAVA工程管理越来越多的jar包,担心导错了,多导了,漏导了怎么办? 换一个IDE项目后项目会不会出一堆BUG,看的头皮发麻? 自己写的代码放在别人的机器上运行会不会出问题? Maven的强大毋 ...

  6. 2017广东工业大学程序设计竞赛决赛--Problem B: 占点游戏

    Description 众所周知的是,TMK特别容易迟到,终于在TMK某次又迟到了之后,Maple怒了,Maple大喊一声:"我要跟你决一死战!"然后Maple就跟TMK玩起了一个 ...

  7. LOJ#2471「九省联考 2018」一双木棋 MinMax博弈+记搜

    题面 戳这里 题解 因为每行取的数的个数是单调不增的,感觉状态数不会很多? 怒而记搜,结果过了... #include<bits/stdc++.h> #define For(i,x,y) ...

  8. java-银行卡基本信息查询

    用于验证的请求接口: https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo= ...

  9. qt程序运行时的错误error:undefined reference to `_imp___ZN10QTcpSocketD1Ev'

    出现的错误: undefined reference to `_imp___ZN10QTcpSocketD1Ev' undefined reference to `_imp___ZN10QTcpSoc ...

  10. nodejs 导入导出模块module.exports向外暴露多个模块 require导入模块

    .moudel.exports 导出模块 导出单个模块 // user.js moudel.exports = 函数名或者变量名: //app.js 导入 require('user.js') 当然. ...