且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-27 22:00:18

问题:

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

解决方法:

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

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

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

当两个实例都注册后我们开始配置多服务环境。首先在主服务器点击'SQLServerAgent',选择'MultiServerAdministration'|'MakethisaMaster…'

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

点击Next进入MasterServer向导。

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

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

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

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

在这步,SQLServer会检查MasterTarget的兼容性:

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

”MasterServerLoginCredentialsscreensecurity”界面会在MasterTarget检查权限。如果需要的话,可以打勾创建一个新的Login并且在master上赋予权限。点击'Next'buttonto继续

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

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

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

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

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

现在验证是否配置成功,用SSMS连接到两台实例,可以看到SQLServerAgent出现'(MSX)'或者'TSX(MSX:masterserverTSX:targetservers)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

原文来自于:SQLServerMultiServerAdministration


本文转自 lzf328 51CTO博客,原文链接:

http://blog.51cto.com/lzf328/1317262