SQL Server快速部署作业到多台服务器

时间:2024-04-15 14:37:27

问题:

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

解决方法:

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

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

点击Next进入Master Server 向导。

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

SQL Server快速部署作业到多台服务器

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

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

原文来自于:SQLServer Multi Server Administration