web-dev-qa-db-ja.com

何百ものマシンでSQL ServerのCU更新を実行するクールな方法はありますか?

私の会社は、合併買収により50のSQL Serverから一晩で200以上に成長しました。助けて!

私の質問は:

  • これほど多くのサーバーでCU更新を実行しても、まだ存続していて、健全性を保つにはどうすればよいですか? SCCMは、CUの更新を実行できないようです。

  • 他の誰かが何百ものサーバーでCU更新を実行できましたか?

  • 他のいくつかの選択肢は何ですか?

19
Russ Starksen

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

enter image description here

enter image description here

これをサーバーごとにスクリプトとして記述し、要約ログのそのビット(またはログ全体)を中央の場所に取り込むだけで、戻ってステータスを確認できます。オプション2は、各インスタンスに接続してビルド番号を確認するための数行のコードを含めることです。

15
user507

@ ShawnMeltonについて のように、無人インストールがその方法です。 CUを数百台のサーバーに展開するには、以下のオプションを検討します(それらをテストして、自分と環境で何が機能するかを理解します)。

  1. Sysinternals-PsExecを使用すると、リモートマシンにインストールを起動できます。
  2. PowerShell-PowerShell 3.0以降のリモート機能を使用してインストールを実行します。例えばEnter-PSSession -ComputerName <COMPUTERNAME>
  3. 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サービスパックと累積的な更新のインストールを実行できます。 。

9
Kin Shah