私の会社は、合併買収により50のSQL Serverから一晩で200以上に成長しました。助けて!
私の質問は:
これほど多くのサーバーでCU更新を実行しても、まだ存続していて、健全性を保つにはどうすればよいですか? SCCMは、CUの更新を実行できないようです。
他の誰かが何百ものサーバーでCU更新を実行できましたか?
他のいくつかの選択肢は何ですか?
cool way
は、各サーバーから単に呼び出される無人インストールスクリプトを使用することです。インストール用のメディアは、各サーバーからアクセス可能なネットワーク上の中央ディレクトリにあります。スクリプトは昇格モードで実行する必要がありますが、これはPowerShellではかなり簡単です。
修正プログラムを抽出するには、CLIを使用する必要があります ここで見つかりました 。次に、SQL ServerパッチのCLIオプション ここにあります 。
次のコマンドは、ラップトップのローカルSQL Server 2012 SP2インスタンスにCU6パッチを適用するために使用したものです。修正プログラムをダウンロードしたディレクトリに変更しました。
.\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を数百台のサーバーに展開するには、以下のオプションを検討します(それらをテストして、自分と環境で何が機能するかを理解します)。
Enter-PSSession -ComputerName <COMPUTERNAME>
Old is Gold-.bat
ファイルを使用します。<==これは確実にSCCM SCCMを使用して.bat
ファイルを複数のサーバーに展開します。
以下は、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以上のサーバーを管理しており、週単位で小さなバッチでパッチを適用することを好みます。 SO小さな数字から始め、自信がついたら、同じことを繰り返します。
編集:
これで、dbatoolsにはUpdate-DbaInstance.ps1
があり、ローカルサーバーとリモートサーバーでSQL Serverサービスパックと累積的な更新のインストールを実行できます。 。