通过并购,我的公司已从50个SQL Server增长到一夜之间超过200个。救命!
我的问题是:
如何在如此多的服务器上执行CU更新,并且仍然有生命并保持理智?SCCM似乎无法执行CU更新。
有没有其他人能够在100台服务器上执行CU更新?
还有哪些其他选择?
通过并购,我的公司已从50个SQL Server增长到一夜之间超过200个。救命!
我的问题是:
如何在如此多的服务器上执行CU更新,并且仍然有生命并保持理智?SCCM似乎无法执行CU更新。
有没有其他人能够在100台服务器上执行CU更新?
还有哪些其他选择?
Answers:
该cool way
方法是使用无人参与的安装脚本,简单地说就是从各个服务器,用于安装的介质是网络上的中央目录叫,那就是从每个服务器访问。您将必须在提升模式下运行脚本,这在PowerShell中相当容易。
您将需要使用CLI提取此修补程序,我在这里找到了。然后,可以在此处找到 SQL Server修补程序的CLI选项。
以下命令是我用来将CU6修补程序应用于笔记本电脑上的本地SQL Server 2012 SP2实例的命令。我更改为将修补程序下载到的目录:
.\SQLServer2012-KB3052468-x64.exe /X:E:\Software\SQL_Server\2012\SP2_CU6\Extracted
cd Extracted
.\setup.exe /action=patch /instancename=SQL12 /quiet /IAcceptSQLServerLicenseTerms
您几乎可以将其编写为每个服务器的脚本,然后将摘要日志的那一部分(或只是整个日志)拉到一个中心位置,以便可以返回并确定状态。选项2是仅包含几行代码以连接到每个实例并验证内部版本号。
如@ShawnMelton所述,无人值守安装是必经之路。要将CU部署在100台服务器上,您可以探索以下选项(对其进行测试,以便了解哪种方法对您和您的环境有效):
Enter-PSSession -ComputerName <COMPUTERNAME>
老是金-使用.bat
文件。 <==这绝对适用于SCCM,因为您可以.bat
使用SCCM 将文件部署到多台服务器。
以下是安装示例SQL2008_SP2_and_CU_2k8_64bit
(根据您的需要进行修改)。您可以将bat文件输入SCCM,以便进行批量安装。
REM starting SQL SP2 cu install.
"C:\temp\SQL2008_SP2_and_CU_2k8_64bit\CU\SQLServer2008-KB2467239-x64.exe" /allinstances /quiet
REM SQL SP2 cu install complete
REM optional STEP to reboot your machine
REM Reboot the host before kicking off the install
shutdown.exe /r /f /c "DBA scheduled reboot" /t 30
我永远不会一口气对这么多服务器(100台)进行这种大规模更新。而是将它们按可管理的组进行批处理,然后按组进行修补。
这样,您可以轻松找出是否出了问题-例如,如果要安装的CU中有错误,并且已在以后的CU或SP中修复。还是以安装为明智,如果您一次修补了100台服务器,而其中5台或7台服务器没有得到正确的修补,您将如何解决呢?
我在公司中管理着300多台服务器,我更喜欢每周对它们进行小批量修补。因此,您从少量数字开始,一旦获得信心,便重复相同的步骤。
编辑:
现在,dbatools具有Update-DbaInstance.ps1
可以在本地和远程服务器上执行SQL Server Service Pack和累积更新的安装的功能。